Hücre değerine bağlı satır gizleme/gösterme

Katılım
27 Ağustos 2010
Mesajlar
42
Excel Vers. ve Dili
Microsoft Office 2016 İngilizce
Altın Üyelik Bitiş Tarihi
17.04.2020
Konu hakkında benim de sormak istediğim detay şu şekilde;
+3000 satırlık bir listem var. Çeşitli kaynaklardan bilgi çekerek vlookup formülleri ile liste yapıyor bana. 3000 satırın belki 500 tanesinde değer getiriyor diğer satırlar için 0 bilgisi getirmesini sağladım formül ile. Excelimde sütun sayısı da 15 civarı.

Makro formülünü inceledim fakat benim istediğim şu; 3 tane önemli sütunum var ve bu 3 sütun da boş ise ya da 0 bilgisi var ise o satırın gizlenmesini istiyorum. Vermiş olduğunuz makro formülde hedef belirtilerek gizlenen satır var, benim istediğim 0 ya da boş olan satırların gizlenmesi.

Bu konuda yardımınızı rica ederim.
 

ptcsite

Altın Üye
Katılım
8 Nisan 2016
Mesajlar
130
Excel Vers. ve Dili
M.OFFICE 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
26-12-2027
Merhaba,

Aşağıdaki kodları ilgili sayfanın kod bölümüne kopyalayınız.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1]) Is Nothing Then Exit Sub
If [A1] = 1 Then
    Rows("10:15").EntireRow.Hidden = True
ElseIf [A1] = 2 Then
    Rows("10:15").EntireRow.Hidden = False
Else
    MsgBox "A1'in değeri ne 1, ne de 2. Bu yüzden hiç bir şey yapmıyorum"
End If
End Sub

Peki bu satırlar farklı ise yani 10 ile 15 arasındaki satırlar değil de 10, 13, 15, 22 , 33 satırları gizlenecek dersek.
Rows("10;13;15;22;33").EntireRow.Hidden = True
şeklinde mi olacak...? veya ara noktalama işareti farklı mı oluyor?
 

ptcsite

Altın Üye
Katılım
8 Nisan 2016
Mesajlar
130
Excel Vers. ve Dili
M.OFFICE 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
26-12-2027
Eğer yukardaki kod'a göre A1 hücresine veri başka bir hücreden geliyorsa makro çalışmıyor. Bunu nasıl giderebiliriz
 

Ö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
Rows("10;13;15;22;33").EntireRow.Hidden = True
şeklinde mi olacak...? veya ara noktalama işareti farklı mı oluyor?
Merhaba,

Range("10:10,13:13,15:15,22:22,33:33")

Şeklinde yazabilirsiniz.


Eğer yukardaki kod'a göre A1 hücresine veri başka bir hücreden geliyorsa makro çalışmıyor. Bunu nasıl giderebiliriz
Bu şekilde deneyin.

Kod:
Private Sub Worksheet_Calculate()
    If [A1] = 1 Then
        Range("10:10,13:13,15:15,22:22,33:33").EntireRow.Hidden = True
    ElseIf [A1] = 2 Then
        Range("10:10,13:13,15:15,22:22,33:33").EntireRow.Hidden = False
    Else
        MsgBox "A1'in değeri ne 1, ne de 2. Bu yüzden hiç bir şey yapmıyorum"
    End If
End Sub
.
 
Katılım
18 Nisan 2020
Mesajlar
1
Excel Vers. ve Dili
2015 tükçe
Merhaba,

Öncelikle bu denli yardımcı olduğunuz için çok teşekkür ederim.

Örneğin;
3 er satırlık 5 tablom var ve altalta.
C3,C6,C9 için değer giriyorum veya boş bırakıyorum.
C3'e değer girdiğimde A4:C6 açılsın (boş bıraktığımda gizli kalsın)
C6'ya değer girdiğimde A7:C9 açılsın (boş bıraktığımda gizli kalsın)
C9'a değer girdiğimde A10:C12 (boş bıraktığımda gizli kalsın)
C12.. bu şekilde ilerleyecek.
 
Katılım
5 Aralık 2013
Mesajlar
1
Excel Vers. ve Dili
sa
Merhaba kodlar çok işime yaradı teşekkur ederim.
 
Üst