Boş Satirları süzdürme

Katılım
4 Temmuz 2011
Mesajlar
17
Excel Vers. ve Dili
Excel 2003 ve 2007
Altın Üyelik Bitiş Tarihi
31-08-2023
Arkadaşlar Ekte görüldüğü şekilde bir Ödemeler Bordrosu var. Buraya Bilgilerimi VBA da kodladığım bir proğram aracılığı ile giriyorum. Proğramda Bir buton ile bu Bordro daki boş satırları süzdürmek ve Bordroyu yazdırmak için Önizleme yaptırmak istiyorum. Excel Sayfasının adı "Bordro" . Yardımcı olacak arkadaşlara teşk.ederim.
 

Ekli dosyalar

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
C++:
Sub GizleVeÖnizle()
Set Alan = Worksheets("Bordro").Range("A6:Q30")
Alan.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
Worksheets("Bordro").PageSetup.PrintArea = "$A1:$Q31"
Worksheets("Bordro").PrintPreview
'...
' Varsa diğer komutları araya girebilir
' Ya da bu makroyu diğer makronuzda çağırabilirsiniz.
Worksheets("Bordro").PageSetup.PrintArea = ""
Set Alan = Nothing
End Sub
 
Katılım
4 Temmuz 2011
Mesajlar
17
Excel Vers. ve Dili
Excel 2003 ve 2007
Altın Üyelik Bitiş Tarihi
31-08-2023
Ömer Bey,
Kod için teşekkürler. Ancak kod çalıştığında Ön izleme User formun altında kalıyor ve Sanıyorum bir döngüye giriyor ve programı kapatamıyorum. CTRL Alt Delete tuşlarıyla Görevi sonlandırmak sorunda kalıyorum. Kodu bir kontrol edebilirmisiniz.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Userformunuzun Show Modal özelliğini properties kısmından yada kodllarınız içinde FALSE yapın.
 
Katılım
4 Temmuz 2011
Mesajlar
17
Excel Vers. ve Dili
Excel 2003 ve 2007
Altın Üyelik Bitiş Tarihi
31-08-2023
Ömer Bey,
Yazdığınız kod daki Şu satırlar bordroyu tamamen süzüyor dolu hücreleride kapatıyor,

Set Alan = Worksheets("Bordro").Range("A6:Q30")
Alan.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Pardon. Adresi değiştirin lütfen.
Set Alan = Worksheets("Bordro").Range("A6:A30")
 
Üst