AccessTr.neT

Tam Versiyon: Tabodaki Sıfır Değeri İçeren Satırları Silme
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3
İyi akşamlar,  bir tablom var,  sıfır değerli satırları silmek istiyorum, makro ile yaptığımda tek tek tümünü siliyor.
filtreleme ile yaptığımda ise aradaki dolu satırlarıda siliyor,
benim isteiğim seçili (Bakiye) sütununda (0) değer içeren satırların silinmesini istiyorum.
Yardımlarınız için şimdiden teşekkür ederim.
aşağıdaki makroyu dener misiniz?
Sub SilFiltreli()
Dim Syf As Worksheet
    Set Syf = ThisWorkbook.Worksheets("sayfa1")
   
    With Syf
    sonstr = Syf.Cells(Syf.Rows.Count, "h").End(xlUp).Row
    Syf.ListObjects("tablo5").Range.AutoFilter field:=7, Criteria1:="0,00"
    Set Rng = Syf.Range("A2:a" & sonstr).Rows.SpecialCells(xlCellTypeVisible)

    dz = Replace(Rng.Address, "$A$", "")
    dizi = Split(dz, ",")
        For x = UBound(dizi) To LBound(dizi) Step -1
            Syf.Range("A" & dizi(x)).EntireRow.Delete
        Next x
Syf.ListObjects("tablo5").Range.AutoFilter field:=7
    End With

End Sub
yada aşağıdaki gibi, yukardaki kodda eğer 0'a eşit alan yoksa hata veriyordu
Sub SilFiltreli()
Dim Syf As Worksheet
Set Syf = ThisWorkbook.Worksheets("sayfa1")

With Syf
sonstr = .Cells(.Rows.Count, "h").End(xlUp).Row
.ListObjects("tablo5").Range.AutoFilter field:=7, Criteria1:="0,00"
Set Rng = .Range("A1:a" & sonstr).Rows.SpecialCells(xlCellTypeVisible)

dz = Replace(Rng.Address, "$A$", "")
dizi = Split(dz, ",")
For x = UBound(dizi) To LBound(dizi) + 1 Step -1
Syf.Range("A" & dizi(x)).EntireRow.Delete
Next x
Syf.ListObjects("tablo5").Range.AutoFilter field:=7
End With

End Sub
Sub Sýfýrdeðerlisatýrlarýsil()

    Dim i As Long, son As Long
    Application.ScreenUpdating = False
    With ThisWorkbook.Sheets("Sayfa1")
        son = .ListObjects("Tablo5").Range.Columns(7).Cells.Find("*", _
                                SearchOrder:=xlByRows, LookIn:=xlValues, SearchDirection:=xlPrevious).Row
        If son < 2 Then Exit Sub
        For i = son To 2 Step -1      
            If Len(Trim(.Cells(i, "H").Value)) > 0 And .Cells(i, "H").Value = 0 Then .Rows(i).EntireRow.Delete
        Next
    End With
    Application.ScreenUpdating = True
End Sub
Emeği geçenlerin eline sağlık Çok teşekkür ederim, ilk sıfır değerleri silme makrosu güzel çalışıyor. ancak ben burda düzenlerim diye esas tabloyu göndermemiştim. şimdi o tablo üzerinde kod yazma becerim zayıf olduğu için düzenleme şansım olmadı. aynı makroyu "vadeli Hesap" sayfasında mevcut "R" sütunundeki SIFIR BAKİYELi SATIRLARIN SİLİNMESİ için tablo üzerinde düzenleme yaparak dosya halinde ekleyebilirseniz memnun olurum.
Kolay gelsin.
İyi Ramazanlar,
Rica ederiz.4.mesajdaki kod sıfır olan satırları siliyor denemeden kod yollamam Img-grin
Sayfalar: 1 2 3