• DİKKAT

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

Yazdırma

Katılım
20 Şubat 2006
Mesajlar
259
Merhaba arkadaşlar;
Benim örneğimde mesela A1:A7 sütunları dolu. Benim istediğim tek bir komutla yazdırma alanı belli ama sadece içi dolu olan hücrelerin içini nasıl yazdırabilirim.

Yardımlarınız için şimdiden teşekkür ederim.
 
Aşağıdaki kodu deneyin.

[vb:1:3f94f06faf]Sub yazdir()
ActiveSheet.PageSetup.PrintArea = "$A$2:$C$" & [a65536].End(3).Row
ActiveSheet.PrintOut
End Sub
[/vb:1:3f94f06faf]
 
Sayın Leventm;
Yazmış olduğunuz kodun birde sözlü açıklamasını yaparsanız daha çok memnun olacağım. Biliyorsunuz ki ezbere hiç bir şey kafada kalmıyor. Mantığını çözebilirsem daha yararlı olacak ben ve forumdakiler için.
İlginize teşekkür ederim.
 
Selamlar,

Kodun mantığı kısaca şöyle;

ActiveSheet.PageSetup.PrintArea = "$A$2:$C$" & [a65536].End(3).Row
ActiveSheet.PrintOut

Aktif sayfanın yazdırma alanını A2 hücresinden başlayarak C sütunundaki enson dolu hücreye kadar tanımlatıyoruz. Yukarıdaki kodda bulunan [a65536].End(3).Row bölümü A sütunundaki enson dolu hücreyi tesbit etmek için kullanılmaktadır. Ve bu değeri C sütunu ile birleştiriyoruz böylece değişken bir yazdırma alanı tanımlıyoruz.
 
Merhaba arkadaşlar. Yukarıdaki yazan kodları denedim. İlk yazdırmada yazdırıyor ancak ardından yeni bir çıktı almaya alışınca hata veriyor çıktıyı alamıyorum. Dosyayı kapatıp tekrar açmam gerekiyor. Bu konuda bana yardımcı olabilrmisiniz. Bu sorunu nası hallede biliriz. Hata mesajı ekteki dosyada. Teşekkürler. İyi çalışmalar. :hey:
 
Sorunumu hallettim arkadaşlar. Çalışma sayfasına Koruma bırakınca sadece bir kere çıktı alabiliryoruz. Dosyayı kapatmadan ikinci çıktıyı alamıyoruz. Bunuda öğrenmiş olduk. Kolay gelsin. :hey:
 
İkinci çıktı için aç-kapa yapmanıza gerek yok. Kodlarınızın üstünde şifreyi açan ve
kodların altında şifreyi kapatan kod eklerseniz bu zahmetten kurtulursunuz.
 
Geri
Üst