Değeri sıfır olan satırları makro ile gizleme

vuranoğlu

Altın Üye
Katılım
18 Nisan 2008
Mesajlar
252
Excel Vers. ve Dili
excel 2016 tr
Altın Üyelik Bitiş Tarihi
22.01.2026
Ek teki örnekte olduğu gibi hazırlanan sayfalarda ki verileri önizleme ve yazdırma esnasında gözükmemesi için
nasıl bir makro gerekir.?
Teşekkürler.
 

Ekli dosyalar

Ö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 Yazdir()

    Dim sat As Long

    Call Gizle 'ilave

    sat = [A:K].Find("*", , , , xlByRows, xlPrevious).Row

    ActiveSheet.PageSetup.PrintArea = "$A$1:$K$" & sat
    ActiveSheet.PrintOut

    Cells.EntireRow.Hidden = False 'ilave

End Sub


Sub Gizle() 'ilave

    Dim i As Long, c As Range, t As Double

    Application.ScreenUpdating = False
    Cells.EntireRow.Hidden = False

    For i = 3 To Cells(Rows.Count, "A").End(xlUp).Row
        t = WorksheetFunction.Sum(Cells(i, "B").Resize(1, 6))
        If t = 0 Then
            If c Is Nothing Then
                Set c = Rows(i)
            Else
                Set c = Application.Union(c, Rows(i))
            End If
        End If
    Next i

    c.EntireRow.Hidden = True
    Application.ScreenUpdating = True

End Sub
 

vuranoğlu

Altın Üye
Katılım
18 Nisan 2008
Mesajlar
252
Excel Vers. ve Dili
excel 2016 tr
Altın Üyelik Bitiş Tarihi
22.01.2026
Sayın Ömer
Teşekkür ederim.
Ön izleme ve yazdırma dan sonra sayfa eski haline dönebilir mi?
 

Ö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
Dönüyor olması gerekir. Yazdır kodunun sonuna ilave etmiştim.
 

vuranoğlu

Altın Üye
Katılım
18 Nisan 2008
Mesajlar
252
Excel Vers. ve Dili
excel 2016 tr
Altın Üyelik Bitiş Tarihi
22.01.2026
Teşekkürler.
 

vuranoğlu

Altın Üye
Katılım
18 Nisan 2008
Mesajlar
252
Excel Vers. ve Dili
excel 2016 tr
Altın Üyelik Bitiş Tarihi
22.01.2026
İyi akşamlar.
Yukarıdaki kodlarla düzenlenen tablolarda( birleştirilmiş hücrelerde )hücreler filitreleniyor.
 

Ekli dosyalar

vuranoğlu

Altın Üye
Katılım
18 Nisan 2008
Mesajlar
252
Excel Vers. ve Dili
excel 2016 tr
Altın Üyelik Bitiş Tarihi
22.01.2026
Merhaba
Ömer beyin vermiş olduğu
aşağıdaki kodlarla birleştirilmiş hücrelerde
sonuç alamıyorum.



Sub Yazdir()

Dim sat As Long

Call Gizle 'ilave

sat = [A:K].Find("*", , , , xlByRows, xlPrevious).Row

ActiveSheet.PageSetup.PrintArea = "$A$1:$K$" & sat
ActiveSheet.PrintOut

Cells.EntireRow.Hidden = False 'ilave

End Sub


Sub Gizle() 'ilave

Dim i As Long, c As Range, t As Double

Application.ScreenUpdating = False
Cells.EntireRow.Hidden = False

For i = 3 To Cells(Rows.Count, "A").End(xlUp).Row
t = WorksheetFunction.Sum(Cells(i, "B").Resize(1, 6))
If t = 0 Then
If c Is Nothing Then
Set c = Rows(i)
Else
Set c = Application.Union(c, Rows(i))
End If
End If
Next i

c.EntireRow.Hidden = True
Application.ScreenUpdating = True

End Sub
 

Ekli dosyalar

Ö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,

Gizle kodlarını aşağıdakilerle değiştirerek deneyiniz.
Kod:
Sub Gizle() 'ilave

    Dim i As Long, c As Range, t As Double

    Application.ScreenUpdating = False
    Cells.EntireRow.Hidden = False

    For i = 4 To 129 Step 2 'Cells(Rows.Count, "A").End(xlUp).Row
        t = WorksheetFunction.Sum(Cells(i, "C").Resize(1, 6))
        If t = 0 Then
            If c Is Nothing Then
                Set c = Rows(i).Resize(2, 1)
            Else
                Set c = Application.Union(c, Rows(i).Resize(2, 1))
            End If
        End If
    Next i

    c.EntireRow.Hidden = True
    Application.ScreenUpdating = True
    ActiveWindow.SelectedSheets.PrintPreview
End Sub
 

vuranoğlu

Altın Üye
Katılım
18 Nisan 2008
Mesajlar
252
Excel Vers. ve Dili
excel 2016 tr
Altın Üyelik Bitiş Tarihi
22.01.2026
Ömer Bey
Elinize sağlık.
Teşekkürler.
 
Üst