• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Soru sütun değerine göre satır sildirme

Katılım
18 Ağustos 2009
Mesajlar
752
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Arkadaşlar M sütununda değeri 0 olan tüm satırları macro ile otomatik nasıl sildirebilirim?M1:M5000 olabilir mesela...

Teşekkürler..
 
İlgili sayfanın kod bölümüne yazarak çalıştırınız.
Kod:
Sub Macro1()
ActiveSheet.Range("$M$1:$M$5000").AutoFilter Field:=1, Criteria1:="0"
ActiveSheet.Rows.SpecialCells(xlCellTypeVisible).EntireRow.Delete
ActiveSheet.AutoFilterMode = False
End Sub
 
Alternatif:

Sub satır_sil()
Application.ScreenUpdating = False
On Error Resume Next
sat = 0
For i = 5000 To 1 Step -1
If Cells(i, "m") = "0" Then
Rows(i).Delete
sat = sat + 1
End If
Next i
Application.ScreenUpdating = True
If sat >= 1 Then MsgBox (sat & " Adet veri silindi."), vbInformation
End Sub


İyi çalışmalar.
 
İlgili sayfanın kod bölümüne yazarak çalıştırınız.
Kod:
Sub Macro1()
ActiveSheet.Range("$M$1:$M$5000").AutoFilter Field:=1, Criteria1:="0"
ActiveSheet.Rows.SpecialCells(xlCellTypeVisible).EntireRow.Delete
ActiveSheet.AutoFilterMode = False
End Sub

Bu şekilde sildimi diğer sayfa bu sayfayla formüllü olduğundan bozuluyor hocam buna nasıl çözüm bulabilirim?
 
Örnek dosya paylaşır mısınız. dosya.co sitesine yükleyebilirsiniz.
 
Alternatif:

Sub satır_sil()
Application.ScreenUpdating = False
On Error Resume Next
sat = 0
For i = 5000 To 1 Step -1
If Cells(i, "m") = "0" Then
Rows(i).Delete
sat = sat + 1
End If
Next i
Application.ScreenUpdating = True
If sat >= 1 Then MsgBox (sat & " Adet veri silindi."), vbInformation
End Sub


İyi çalışmalar.

Öncelikle teşekkürler hocam. Bu sayfaya göre bağlantılı çalışan diğer sayfam silindimi bu şekilde hata veriyor. Mesela satır silme değilde içerik boşaltma gibi birşey yapabilirmi?


222374
 
Deneyiniz.
Kod:
Sub Macro1()
ActiveSheet.Range("$M$1:$M$5000").AutoFilter Field:=1, Criteria1:="0"
ActiveSheet.Rows.SpecialCells(xlCellTypeVisible).ClearContents
ActiveSheet.AutoFilterMode = False
End Sub
 
Verdiğim koddaki;
Rows(i).Delete
yerine;
Range("a" & i & ":ıv" & i).ClearContents
satırını ekleyin.
İyi çalışmalar.
 
Geri
Üst