• DİKKAT

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

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

  • Konbuyu başlatan Konbuyu başlatan hvkvn
  • Başlangıç tarihi Başlangıç tarihi
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.
 
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?
 
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
 
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

.
 
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.
 
Merhaba kodlar çok işime yaradı teşekkur ederim.
 
Geri
Üst