Şarta Göre Satır Gizleme

Katılım
20 Ocak 2005
Mesajlar
526
Excel Vers. ve Dili
Excel 2007 Türkçe
Altın Üyelik Bitiş Tarihi
01-01-2024
127 satırdan oluşan bir Excel sayfam var. A1 ve K 127 arasındaki hücrelerden oluşuyor.
Bütün satırları yazdırınca tek sayfaya sığmıyor. Yazılar çok ufak görünüyor, Yazarken sığdır deyince.
İsteğim şu ki ; A 15 ile K 117 aralığındaki hücrelere değer giriyorum. Bu aralıkta en fazla 2 - 3 satırda değer giriyorum.
" I" Sütununda bu veri girilen satırlar dışında, 60 satırı ( A 15 - A 117). Rasgele " I " sütununa dolu boş baz alarak, göre, Gizleme makrosu olur mu ?
 

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
Aşağıdaki kodu ben G3:G24 arası hücreler için düzenledim. Kendinize göre uyarlarsınız. Kodları dosyanızda VBA bölümünün BuÇalışmaKitabı (ThisWorkBook) kısmına yapıştırmanız gerekiyor. Makro yazdırma komutu verdiğinizde otomatik çalışarak boş satırları gizleyecktir:

PHP:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
For i = 3 To 24
    If Cells(i, "G") = "" Then
        Rows(i).Hidden = True
    Else
        Rows(i).Hidden = False
    End If
Next
End Sub
 
Katılım
20 Ocak 2005
Mesajlar
526
Excel Vers. ve Dili
Excel 2007 Türkçe
Altın Üyelik Bitiş Tarihi
01-01-2024
Aşağıdaki kodu ben G3:G24 arası hücreler için düzenledim. Kendinize göre uyarlarsınız. Kodları dosyanızda VBA bölümünün BuÇalışmaKitabı (ThisWorkBook) kısmına yapıştırmanız gerekiyor. Makro yazdırma komutu verdiğinizde otomatik çalışarak boş satırları gizleyecktir:

PHP:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
For i = 3 To 24
    If Cells(i, "G") = "" Then
        Rows(i).Hidden = True
    Else
        Rows(i).Hidden = False
    End If
Next
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
For i = 17 To 115
If Cells(i, "ı") = "" Then
Rows(i).Hidden = True
Else
Rows(i).Hidden = False
End If
Next
End Sub
Ekledim sonra Bir modül ekledim bunu yazdım bir butona makro atadım.

Sub yazdırgenel()
'
' yazdırgenel Makro
'
' Klavye Kısayolu: Ctrl+g
'
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End Sub

Doğru mu ?
 

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
yazdırgenel makrosuna neden ihtiyaç duydunuz anlamadım. Verdiğim kod yazdırma komutu verdiğinizde devreye giren bir kod. Başka bir tetikleyiciye gerek yok. (Tabi kodları BuÇalışmaKitabı kısmına yapıştırmanız gerekiyor)
 
Katılım
20 Ocak 2005
Mesajlar
526
Excel Vers. ve Dili
Excel 2007 Türkçe
Altın Üyelik Bitiş Tarihi
01-01-2024
yazdırgenel makrosuna neden ihtiyaç duydunuz anlamadım. Verdiğim kod yazdırma komutu verdiğinizde devreye giren bir kod. Başka bir tetikleyiciye gerek yok. (Tabi kodları BuÇalışmaKitabı kısmına yapıştırmanız gerekiyor)
CTRL + P yazdır denince. Baskı ön izlemede gizli satır olmadı. hata bende biliyorum da.
236350
 

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
CTRL+P deyince değil yazdırma komutu verince çalışıyor. Yani ya baskı önizlemedeyken yazdır demeniz gerek ya da doğrudan hızlı yazdırmanız gerek. İlla yazdırmadan önce son halini görmem gerek diyorsanız önceki verdiğim kodu hiç kullanmadan aşağıdaki gibi bir makro olabilir. Makro çalıştırıldığında boş satırlar gizlenip baskı önizleme açılır:

PHP:
Sub gizleonizle()
    For i = 17 To 115
        If Cells(i, "ı") = "" Then
            Rows(i).Hidden = True
        Else
            Rows(i).Hidden = False
        End If
    Next
    ActiveSheet.PrintPreview
End Sub
 
Katılım
20 Ocak 2005
Mesajlar
526
Excel Vers. ve Dili
Excel 2007 Türkçe
Altın Üyelik Bitiş Tarihi
01-01-2024
Teşekkürler. Şimdi süper oldu. Emeğinize sağlık. Saygılar.
 
Üst