Döngüyü yeniden çalıştırma

Katılım
5 Mart 2005
Mesajlar
103
Merhaba,
A1:A500 arasındaki hücrelerde "xxx" değerini aratıyorum, bulunca bulduğu hücreyi sildiriyorum.
Ancak bazı hatalar ile karşılaşıyorum şöyleki

For i = 2 To t
If Worksheets("hareketler").Cells(i, 1) = xxx Then
Worksheets("hareketler").Rows(i).Delete Shift:=xlUp
End If
Next i

şimdi burada a5 ve a6 hücrelerinin değeri = xxx i=5 iken o satırı siliyor ve a6 = a5 oluyor ve ( i ) bir sonrakinde 6 olacağı için bu satırı göremiyor.

istediğim eğer tekrar döngü çalıştırmadan yapılabilecek bir yöntem varsa nasıl yapabileceğim yada koşul gerçekleşip silme işini yaptıktan sonra kodların baştan çalışması. umarım anlatabilmişimdir.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bu tip silme işlemi yapılan durumlarda döngüyü aşağıdan yukarı doğru çalıştırmanız gerekir.

Kod:
For i = t To 2 step-1
If Worksheets("hareketler").Cells(i, 1) = xxx Then
Worksheets("hareketler").Rows(i).Delete Shift:=xlUp
End If
Next i
 
Katılım
22 Temmuz 2006
Mesajlar
186
Excel Vers. ve Dili
2003
Altarnetif

Sayın Leventm bey,
Müsadenizle aklıma şöyle bişey geldi,


Kod:
Sub sil()
tekrar:
    For i = t To 100
    If Cells(i, 1) = xxx Then
    Rows(i).Delete Shift:=xlUp
    End If
Next i
say = WorksheetFunction.CountIf(Sheets("hareketler").[a1:a65536], xxx)
If say > 0 Then
GoTo tekrar
End If
End Sub
Kolay Gelsin
 
Üst