Bir Hücredeki değere göre satır gizleme

Katılım
25 Ekim 2006
Mesajlar
349
Excel Vers. ve Dili
MS Office Standart 2016 Türkçe
Altın Üyelik Bitiş Tarihi
19-03-2024
Üç (A B C) bir tablom var, A ve B sütununda mutlaka bir değer var ama c sütunundaki bazı hücrelerde 0 değeri var. Ben bir düğme bağlı olarak bu 0 değeri olan satırların gizlenmesini, başka bir düğmeyle de görünmesini sağlamak istiyorum. Yardımlarınızı rica ederim
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Deneyiniz.
Kod:
Sub gizle()

    Dim c As Range, Adr As String, k As Range
    
    Application.ScreenUpdating = False
    
    Call goster
    
    Set c = [C:C].Find(0, , xlValues, xlWhole)
    If Not c Is Nothing Then
        Adr = c.Address
        Do
            If k Is Nothing Then
                Set k = c.Rows
            Else
                Set k = Application.Union(k, c.Rows)
            End If
            Set c = [C:C].FindNext(c)
        Loop While Not c Is Nothing And c.Address <> Adr
    End If
 
    If Not k Is Nothing Then k.EntireRow.Hidden = True
    
End Sub

Sub goster()
    Cells.EntireRow.Hidden = False
End Sub
 
Katılım
25 Ekim 2006
Mesajlar
349
Excel Vers. ve Dili
MS Office Standart 2016 Türkçe
Altın Üyelik Bitiş Tarihi
19-03-2024
Merhaba,

Deneyiniz.
Kod:
Sub gizle()

    Dim c As Range, Adr As String, k As Range
   
    Application.ScreenUpdating = False
   
    Call goster
   
    Set c = [C:C].Find(0, , xlValues, xlWhole)
    If Not c Is Nothing Then
        Adr = c.Address
        Do
            If k Is Nothing Then
                Set k = c.Rows
            Else
                Set k = Application.Union(k, c.Rows)
            End If
            Set c = [C:C].FindNext(c)
        Loop While Not c Is Nothing And c.Address <> Adr
    End If

    If Not k Is Nothing Then k.EntireRow.Hidden = True
   
End Sub

Sub goster()
    Cells.EntireRow.Hidden = False
End Sub
Teşekkür ederim Çalıştı

Ancak tablom 12 satırdan başlıyor. üstünü gizlememesi gerek
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Set c = [C:C]

olanları

Set c = Range("C12:C" & Rows.Count)

olarak değiştirip dener misiniz?
 
Üst