• DİKKAT

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

sadece dolu hücreleri yazdırma makrosu

Katılım
6 Mayıs 2014
Mesajlar
264
Excel Vers. ve Dili
office 365
Ekteki tablonun d6:d101 arasındaki satırların sadece dolu olanlarını d3:h3 aralığını içerecek şekilde yazdırmak istiyorum.

not 1 :
d6:d101 arasındaki satırlarda dolu olan satır sayısı şu an altı adet ancak başka bir zaman değişebilir.

not 2 :
tablonun solunda farklı tablolar var

Bu açıklamalarıma göre bir butona atanacak makro yazabilir misiniz
 

Ekli dosyalar

Şöyle yapabilirsiniz. İlk önce d6:d101 arasındaki boş satırları gizleyip ondan sonra yazdırma alanı ile yazdırabilirsiniz.

Kod:
Sub Test()
For Each t In Range("d6:d101").Cells
If t.Value = "" Then 'boş hücreleri gizler
t.EntireRow.Hidden = True
End If
Next t
Response = MsgBox("Oldu mu İstenen Alan", vbYesNo)
If Response = vbNo Then GoTo 100

    ActiveSheet.PageSetup.PrintArea = "$d$3:$h$101"
    ActiveSheet.PrintOut
100
For Each t In Range("d6:d101").Cells
If t.Value = "" Then 'boş hücreleri gösterir
t.EntireRow.Hidden = False
End If
Next t
End Sub
 
Teşekkür ederim. Ancak gizleme işleminin yaptıktan sonra yazdırma alanı daha önceden ayarlandıysa tek yapılması gereken normal bir şekilde yazdırmak. Burada amacım gizleme yada süzme işlemini ile yazdırma işlemini makroya bağlayıp makroyu çalıştırınca işlemi gerçekleştirmek.
 
Merhaba.

Yanlış anlamadıysam; D:H sütunlarında D sütunundaki son dolu satıra kadarki kısmı yazdırmak istiyorsunuz.
Mevcut verilere göre bu alan D3:H11 hücre aralığı
.
Aşağıdaki şekilde dener misiniz? Kod'daki 2958465 sayısı 31.12.9999 tarihi anlamındadır ve burada son tarih satırı bulunuyor.
.
Kod:
[FONT="Arial Narrow"]Sub DOLU_ALANI_YAZDIR()
With ActiveSheet
    .PageSetup.PrintArea = "D3:H" & Evaluate("=MATCH(2958465,D:D,1)"): .PrintOut
End With
End Sub[/FONT]
 
makro kaydet yöntemi ile aşağıdaki şekilde çözüldü. herkese teşekkürler

Sub TAKSİT_TABLOSU_YAZDIR()
'
' TAKSİT_TABLOSU_YAZDIR Makro
'

'
ActiveSheet.ListObjects("Tablo1").Range.AutoFilter Field:=1, Criteria1:= _
"<>"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Range("Tablo1[[#Headers],[TARİH]]").Select
ActiveSheet.ShowAllData
End Sub
 
boş satırları yazmasın

excelde ekteki gibi sabit bir şablonum var boş hücreleri yazmasın istiyorum, şimdiden teşekkürler
 

Ekli dosyalar

  • 25.xlsx
    25.xlsx
    8.6 KB · Görüntüleme: 4
Geri
Üst