• DİKKAT

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

Şarta Göre Satır Gizleme

  • Konbuyu başlatan Konbuyu başlatan 5353
  • Başlangıç tarihi Başlangıç tarihi
Katılım
20 Ocak 2005
Mesajlar
525
Excel Vers. ve Dili
Excel 2007 Türkçe
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 ?
 
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
 
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 ?
 
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)
 
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
 
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
 
Teşekkürler. Şimdi süper oldu. Emeğinize sağlık. Saygılar.
 
Geri
Üst