Run-time Error '1004!: hakkında yardım

Katılım
21 Mayıs 2007
Mesajlar
57
Excel Vers. ve Dili
Excel 2010 Türkçe
Merhaba,

Anlayamadığım ya da bilmediğim bir sebepten bir satırlık kodumda bile aşağıdaki hatayı alıyorum. Yaptığım şu ki: Excelde Sayfa1 seçili iken Sayfa8'deki bir "Range"i temizlemek istiyorum ama hata veriyor. Bunun bir yolu var mı? Her seferinde Sayfa8.Select yapmak zorunda mıyım? Yardımınızı rica ediyorum.

Kod:

Sub sil()
Sayfa8.Range(Cells(3, 1), Cells(100000, 5)).Delete
End Sub

Run-time error '1004':
method 'Range' of object '_Worksheet' failed
 
S

Skorpiyon

Misafir
Sayın quman,

Sheets("Sayfa8").Range......... olarak denediniz mi ?
 
Katılım
21 Mayıs 2007
Mesajlar
57
Excel Vers. ve Dili
Excel 2010 Türkçe
Sayın Şaban Sertkaya,

İlginize teşekkür ederim. Evet öyle denedim, aynı hatayı aldım. Sonra başına Thisworkbook ekledim, olmadı. Sub Sil()'i Public Sub sil() olarak yazdım ama olmuyor. Sanırım Range objesi ile alakalı bir sorun. Kod satırını:

Sayfa8.Cells(3, 1).Delete

yapınca çalışıyor. Bana başka bir sayfada Range seçtirmiyor.
 
S

Skorpiyon

Misafir
Sayın quman,

Siz sayfa3'tesiniz ama Sayfa8'deki şu hücreyi sil diyorsanız, hata almanız normaldir. O veriyi silebilmek için önce sayfa8'i seçmeniz gerekir.

Şu an çıkmam gerekiyor. Dosyanızı eklemeniz mümkün ise, (2003 formatında) ordan da bakabiliriz.
 
Katılım
21 Mayıs 2007
Mesajlar
57
Excel Vers. ve Dili
Excel 2010 Türkçe
Sayın Şaban Sertkaya,

Siz sayfa3'tesiniz ama Sayfa8'deki şu hücreyi sil diyorsanız, hata almanız normaldir. O veriyi silebilmek için önce sayfa8'i seçmeniz gerekir.
Aslında bütün olay bu. Yani başka bir sayfa seçili iken sayfadaki bir Range için işlem yaptırmak. Range içindeki satırları bile saymıyor. Sayfayı select ederek yaptırmak gerekiyor dediğiniz gibi. Sayfayı ".select" etmeden "Range" metodunu kullandırmıyor. Çünkü anladığım kadarı ile "Worksheets" class'ının dışına çıkmış oluyorum ya da dışına çıkmaya çalışıyorum ve bu hatayı veriyor. Teşekkürler.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,855
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Böyle denermisiniz.

Kod:
Sub sil()
Sheets("Sayfa8").Range(Sheets("Sayfa8").Cells(3, 1), Sheets("Sayfa8").Cells(100000, 5)).Delete
End Sub
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,855
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Yada böyle

Kod:
Sub sil()
Sayfa8.Range(Sayfa8.Cells(3, 1), Sayfa8.Cells([COLOR=red]100000[/COLOR], 5)).Delete
End Sub

not: burada kırmızı yerdeki değer kadar excelde satır olması lazım.
 
Katılım
21 Mayıs 2007
Mesajlar
57
Excel Vers. ve Dili
Excel 2010 Türkçe
Sayın halit3,

Teşekkür ederim, böyle çalıştı. Başka bir sayfa için, "Range" içine direkt "Cells" ile aralık seçemiyormuşuz. İkincisi daha kısa ve oldukça kullanışlı.
 
Katılım
19 Aralık 2009
Mesajlar
1
Excel Vers. ve Dili
excel 2007 türkçe
Range ("A" & 1 & ":" & "L" & 1).select
Selection.ClearContents
yaparsanız da olur burada 1 yerine değişken de atayabilirsiniz.
 
Son düzenleme:
Katılım
18 Mart 2015
Mesajlar
2
Excel Vers. ve Dili
Excel 2007
Merhabalar,

Ben çok detaylı bilmiyorum aslında ama yıllar evvel kullandığım excel dosyasını artık kullanamıyorum, sırala butonu vardı sayfada butona bastığımda

"run-time error 1004"
worksheetFunction sınıfının Match özelliği alınamıyor. diye yazı çıkıyor.
yardımcı olur musunuz.
 
Üst