Sıfır Bakiyeli Satırları Silme

18/11/2022, 21:32

ercansahiner61

Kolay gelsin,
daha öncede bu konuyu açtım ancak istediğim sonuçları alamadım ben kendi yapmaya çalıştım, ancak
Hesap No ile silme düzgün çalışıyor, ancak Sıfır Bakiyeli satırları sil macrosu çalıştırıldığında sıfır değeri içeren hücreler kayboluyor ancak 0 sıfır değerini içeren tüm Tablo  satırlarının silinmesi gerekiyor.
bunu yapan kodu uygulama içine yapabilirimsiniz.
şimdiden teşekkürler

Sevgili Feraz hocam uygulama dosyasını eklememi yazmıştı, ben de ekledim.
19/11/2022, 00:58

atoykan

Sıfır bakiyeleri sil makronuzu aşağıdaki ile değiştirin


Dim Tbl As ListObject
Set Tbl = ActiveSheet.ListObjects(1)
ActiveSheet.ListObjects("Tablo4").Range.AutoFilter Field:=7, Criteria1:= _
"0,00"
Tbl.DataBodyRange.SpecialCells(xlCellTypeVisible).Delete
ActiveSheet.ListObjects("Tablo4").Range.AutoFilter Field:=7
19/11/2022, 02:35

ercansahiner61

Çok teşekkür ederim. iyi geceler,
Küçük bir sorun var tabloda sıfır bakiye değer yokken makro çalıştırıldığında filteleme kaldırılmıyor, tüm verileri göstermiyor ve hata veriyor.
yapmak istediğim sıfır bakiye yokken makro çalışmasın yani işlem yapmasın istiyorum  ben uğraştım ama yapamadım küçük bir kod ekleyebilirseniz memnun olurum.
20/11/2022, 14:21

atoykan

Aynı soruyu eski konunuzda da örnek ekleyerek sormuşsunuz
Orada da verdiğim cevap:

Kodunuzu aşağıdaki gibi revize edin

Sub SıfırBakiyeliHesaplarıSİL()
Dim wb As Workbook
Set wb = ThisWorkbook
Dim tbl As ListObject
Set tbl = ActiveSheet.ListObjects(1)
Dim dvrg As Range

With tbl
If .ShowAutoFilter Then
If .AutoFilter.FilterMode Then .AutoFilter.ShowAllData
End If
.Range.AutoFilter 7, "0,00"
On Error Resume Next
Set dvrg = tbl.DataBodyRange.SpecialCells(xlCellTypeVisible).Delete
On Error GoTo 0
.AutoFilter.ShowAllData
End With

ActiveSheet.ListObjects("Tablo4").Range.AutoFilter Field:=7
Range("B2").Select
End Sub
20/11/2022, 16:59

ercansahiner61

(20/11/2022, 14:21)atoykan yazdı: Aynı soruyu eski konunuzda da örnek ekleyerek sormuşsunuz
Orada da verdiğim cevap:

Kodunuzu aşağıdaki gibi revize edin

Sub SıfırBakiyeliHesaplarıSİL()
Dim wb As Workbook
Set wb = ThisWorkbook
Dim tbl As ListObject
Set tbl = ActiveSheet.ListObjects(1)
Dim dvrg As Range
 
    With tbl
        If .ShowAutoFilter Then
            If .AutoFilter.FilterMode Then .AutoFilter.ShowAllData
        End If
        .Range.AutoFilter 7, "0,00"
        On Error Resume Next
            Set dvrg = tbl.DataBodyRange.SpecialCells(xlCellTypeVisible).Delete
        On Error GoTo 0
        .AutoFilter.ShowAllData
    End With
   
  ActiveSheet.ListObjects("Tablo4").Range.AutoFilter Field:=7
  Range("B2").Select
End Sub

Çok teşekkür ediyorum, elinize sağlık bu kez çok güzel olmuş.
20/11/2022, 21:49

atoykan

Rica ederiz, iyi çalışmalar.