aralık bul ve sil

Katılım
25 Aralık 2005
Mesajlar
219
Değerli dostlar satır sil konu başlığındaki cevaplarınıza çok teşekkür ederim. değişik bir durum olduğu için bunu yeni başlıkta soruyorum. h1 hücresine girdiğim sayıyı a sutununda ( a20 den itibaren) ilk değer ile son değer arasını seçip silebilirmiyiz.
örneğin h1 de 5 olsun. a25 5 ve a36 hücresi 5 olsun.( a25 ile a36 arasındaki hücreler boş) a25 ile a36 satırıda dahil aradaki tüm satırları seçip silmek istiyorum.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,650
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub SIL()
silinecek = [h1]
ilk = 0
son = 0
If silinecek = "" Then Exit Sub
For x = 20 To 65536
    If Cells(x, 1) = silinecek Then
            If ilk = 0 Then
                ilk = x + 1
                Else
                son = x - 1
                Exit For
            End If
    End If
Next x
If ilk > 0 And son > 0 Then
    For x = son To ilk Step -1
        If Cells(x, 1) = "" Then Rows(x).Delete
    Next x
End If
End Sub
 
Katılım
25 Aralık 2005
Mesajlar
219
çok teşekkür ederim. ama silerken ilk ve son satır kalıyor . tamamını silmek istiyorum
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,650
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub SIL()
silinecek = [h1]
ilk = 0
son = 0
If silinecek = "" Then Exit Sub
For x = 20 To 65536
    If Cells(x, 1) = silinecek Then
            If ilk = 0 Then
                ilk = x
                Else
                son = x
                Exit For
            End If
    End If
Next x
If ilk > 0 And son > 0 Then
    For x = son To ilk Step -1
        Rows(x).Delete
    Next x
End If
End Sub
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,603
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Alternatif olarak aşağıdaki kodu denermisiniz.

Kod:
Sub SİL()
    İLK = 0
    SON = 0
    For X = 20 To [A65536].End(3).Row
    If Cells(X, 1) = [H1] Then
    If İLK = 0 Then
    İLK = X
    Else
    SON = X
    End If
    End If
Devam: Next
    If İLK = 0 And SON = 0 Then Exit Sub
    If İLK > 0 And SON > 0 Then Rows(İLK & ":" & SON).Delete
    MsgBox "Silme işlemi tamamlanmıştır.", vbInformation
End Sub
 
Üst