Bir şarta göre satır gizleme ve silme

Katılım
14 Nisan 2011
Mesajlar
23
Excel Vers. ve Dili
Türkçe 2007
Merhaba sorunumla ilgili forumdaki konuları aradım çok faydalı oldu.
http://www.excel.web.tr/f48/artly-satyr-gizleme-t117488.html
Bu sayfadaki konu sıkıntımı hallediyor ama bir eksiği var. Bu mevcut konunun altına da mesaj olarak yazdım.

Bu konuda ki kod işimi hallediyor ancak benim excelimde 12 tane sayfa var ben bunun 11 tanesinde bu işlemi yapmak istiyorum bu makroyu sayfaya kaydedince sadece o sayfada işlem yapıyor bir seferde diğer sayfalarda da yapmasını nasıl sağlarız. Bu macro kodunda satırları gizliyor satırları silmesini istesem nasıl olur. Eğer ayrdımcı olabilirseniz çok sevinirim dünden beri forumda bu konuları inceliyorum. Bana en faydalı yol buydu ama bunuda o eksiği var.
Ekteki dosyada kapak sayfası hariç diğer 11 sayfada bu kodu yugulamak istiyorum . Ben kodu dosyaya göre uyarladım her sayfadaki toplam sütunundaki sıfır olan satırları gizleyecek ama tek sayfada çalışıyor.

Yardımcı olursanız sevinirim
 

Ekli dosyalar

Korhan Ayhan

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

Benim cevap verdiğim bir linkin size faydalı olduğunu söyleyerek yardım talebinde bulunmuşsunuz. Fakat ben sorunuzu birkaç kez okuduğum halde hangi kritere göre satırları gizlemek ya da silmek istediğinizi çözemedim.

Lütfen detaylı açıklar mısınız?
 

Korhan Ayhan

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

Sizden cevap gelemedi. Ben hazırladığım örnekleri foruma ekliyorum. Siz ihtiyacınız olanı kullanırsınız.

Kodlar sayfalardaki "L" sütununa göre düzenlenmiştir.

Satırları gizlemek için;

Kod:
Sub GİZLE()
    Dim Sayfa As Worksheet, X As Long
    
    Application.ScreenUpdating = False
    
    For Each Sayfa In ThisWorkbook.Worksheets
        With Sayfa
            If .Name <> "kapak" Then
                .Cells.EntireRow.Hidden = False
                
                For X = 2 To .Cells(.Rows.Count, "L").End(3).Row
                    If .Cells(X, "L") = 0 And .Cells(X, "L") <> "" Then
                        .Rows(X).Hidden = True
                    End If
                Next
            End If
        End With
    Next
    
    Application.ScreenUpdating = True
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub

Satırları silmek için;

Kod:
Sub SİL()
    Dim Sayfa As Worksheet, X As Long
    
    Application.ScreenUpdating = False
    
    For Each Sayfa In ThisWorkbook.Worksheets
        With Sayfa
            If .Name <> "kapak" Then
                For X = 2 To .Cells(.Rows.Count, "L").End(3).Row
                    If .Cells(X, "L") = 0 And .Cells(X, "L") <> "" Then
                        .Rows(X).Delete
                    End If
                Next
            End If
        End With
    Next
    
    Application.ScreenUpdating = True
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Üst