find kodu döngüsü hatası

Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
sn hocalarım herkese iyi günler
kullandığım bi dizi kod bana kafayı yedirdi.çünkü döngüyü bi türlü çeviremedim.
kullandığım kodlar;

On Error Resume Next
For i = 1 To Sheets.Count - 1
Sheets(i).Select
sat = [d7:d3000].Find(ComboBox1).Row
Cells(sat, 4).Select
Range("a" & ActiveCell.Row & ":d" & ActiveCell.Row).Clear
Next

olay ise özetle şöyle;
1den başlayarak son çalışma sayfasına kadar her sayfada d7:d3000 arasında combobox değerini bulacak ve o satırı a'dan d'ye silecek.çok güzel çalışıyor fakat bi sorun var.eğer o sayfada d7:d3000 sütununda combobox değerinde bir hücre yoksa hata veriyor. "on error resume next" ile gidermeye çalıştım o zamanda combobox değerinde hücre olsada olmasada o satırı siliyor. çok seçenek denedim ama olmadı.acaba göremediğim bişey mi var.siz belki bana yardımcı olabilirsiniz.
şöyle ki; o sütunda combobox değeri yoksa diğer sayfaya geçsin ve böylece devam etsin.
yardımlarınız için şimdiden teşekkür ederim.saygılar:yardim:
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Aşağıdaki kodu deneyiniz
Kod:
For i = 1 To Sheets.Count - 1
    Set sh = Sheets(i)
    Set bul = sh.[d7:d3000].Find(ComboBox1, xlWhole)
    If Not bul Is Nothing Then
       sat = bul.Row
       sh.Range("A" & sat & ":D" & sat).Clear
    End If
    Set bul = Nothing
    Set sh = Nothing
Next
 

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
aşağıdaki gibi deneyebilirsiniz

HTML:
On Error Resume Next
For i = 1 To Sheets.Count - 1
Sheets(i).Select
set bul=[d7:d3000].Find(ComboBox1)
 
if bul is nothing then goto 3
 
sat = [d7:d3000].Find(ComboBox1).Row
Cells(sat, 4).Select
Range("a" & ActiveCell.Row & ":d" & ActiveCell.Row).Clear
 
3
Next


Biraz geç kaldım galiba :)
 
Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
süper
sn mesleki sn fpc elinize sağlık
çok ama çok teşekkür ederim.hem yeni bişey daha öğrendim.
saygılar
 
Üst