• DİKKAT

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

Veri içermeyen satırların gizlenmesi

ERMAN SAYINALP

Altın Üye
Katılım
11 Eylül 2008
Mesajlar
173
Excel Vers. ve Dili
Excel 2016 Türkçe
DOSYA YÜKLEYEMİYORUM ! (Altın Üyelik başvurum yapıldı, ancak sonuçlanmadı)

* A1:H10 aralığındaki hücrelerin hepsi FONKSİYON içermektedir.
* A1:H4 aralığındaki hücreler VERİ almış ve dolu gözükmektedir.
* A5:H10 aralığındaki hücrelerde VERİ yoktur.

SORU: A5:H10 aralığı, MAKRO ile (istenildiğinde) GİZLENECEK, (istenildiğinde) GÖSTERİLECEKTİR.

Yardımlarınız lütfen ...
 
Merhaba,

Deneyiniz. True değerini False yaparsanız satırları gösterir, True kalırsa gizler.
Kod:
Sub test()
    Rows("5:10").EntireRow.Hidden = True
End Sub
 
İstediğim bu değildi.

Satır VERİ aldığında GÖRÜNÜR olacak. VERİ silindiğinde GİZLENECEK.
Yani 5:10 SATIRLAR stabil değil, DİNAMİK olacak.

Örneğin, ilk 7 satır VERi almışsa son 3 satır GİZLENECEK, oluşan VERİ ilk 2 satıra düşmüşse bu kez son 8 satır GİZLENECEK.

Selamlar...
 

Ekli dosyalar

Deneyiniz.

C++:
Option Explicit

Sub Rows_Hide()
    Dim X As Long, Alan As Range
    
    Application.ScreenUpdating = False
    
    Cells.Rows.EntireRow.Hidden = False

    For X = 8 To Cells(Rows.Count, 4).End(3).Row
        If Cells(X, 4) = "" Then
            If Alan Is Nothing Then
                Set Alan = Cells(X, 4)
            Else
                Set Alan = Union(Alan, Cells(X, 4))
            End If
        End If
    Next
    
    If Not Alan Is Nothing Then Alan.EntireRow.Hidden = True

    Set Alan = Nothing

    Application.ScreenUpdating = True
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Korhan bey merhaba,

Her zaman olduğu gibi yine imdadıma yetiştiniz. Verdiğiniz KOD'lama gayet güzel, lakin ben hata yaptım. Sandım ki, Örneğinizi kendime uyarlar ve kendi işimi kendim hallederim, ancak beceremedim.

Esasen, talebim biraz daha detay içeriyor ve buna ilişkin DETAY ÖRNEK Tabloyu (içinde görsel olarak anlatımlı) ilişikte gönderiyorum.

Lütfederseniz, bu detay üzerinden değerli yardımlarınızı beklemekteyim.

Saygılarımla.
 

Ekli dosyalar

Deneyiniz.

C++:
Option Explicit

Sub Rows_Hide()
    Dim X As Long, Y As Byte, Alan As Range, Say As Byte
    
    Application.ScreenUpdating = False
    
    Cells.Rows.EntireRow.Hidden = False

    For X = 9 To Cells(Rows.Count, 4).End(3).Row
        For Y = 4 To 7
            If Cells(X, Y).Interior.Color = 13224447 Then
                If Cells(X, Y) = "" Or Cells(X, Y) = 0 Then Say = Say + 1
            End If
        Next
    
        If Say = 4 Then
            If Alan Is Nothing Then
                Set Alan = Cells(X, 4)
            Else
                Set Alan = Union(Alan, Cells(X, 4))
            End If
        End If
        Say = 0
    Next
    
    If Not Alan Is Nothing Then Alan.EntireRow.Hidden = True

    Set Alan = Nothing

    Application.ScreenUpdating = True
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Korhan bey,

Emeğinize çok teşekkür ederim. Tam istediğim gibi. Ancak çok üzgünüm, şöyle ki;

Sizinle paylaştığım Örnek Dosya, Orjinalinin birebir kopyası, yaptığınız KOD'lama bu Örnek Dosya üzerinde sorunsuz ve istediğim gibi çalışıyor, lakin Orjinal Dosyamda en ufak bir Eylem gerçekleştirmiyor.

1- Sizce ne olabilir, nasıl çözebiliriz ?
2- Çözümden sonra ek bir isteğim daha var, o da söz konusu sayfa Kilitli olduğu için ekstra sorun çıkaracak, bu da çözüme muhtaç. Bunu ben kendi imkanlarımla da çözerim ama, asıl sorun çalışmaması ?

Görüşmek üzere...
 
Hatta şöyle bir şey de farkettim.

Orjinalinde, Satır gizlemek bir yana, Gizlenmiş olan satırları açıyor..
 
Kodu bir butona tanımlayıp kullanabilirsiniz. Butona tıkladığınızda kod çalışacaktır.

Örnek dosyada çalışıp orijinal dosyanizda çalışmıyorsa farklı durumlar olabilir. Dosyanızı görmek gerekir.
 
Geri
Üst