• DİKKAT

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

Yazdırma alanı

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
840
Excel Vers. ve Dili
Office 2016 TR
Merhaba,

Belli aralık ve boyutlarda 100 e yakın tablolarım mevcut. Bu tabloları yazdırmak için her defasında ayrı ayrı yazdırma alanını belirlemek zorunda kalıyorum.
Bu tabloları wba kodu ve başka bir yöntem ile, ayrı ayrı tek seferde yazdırmak mümkün mü ?

Teşekkür ederim.
 
Mümkündür. Kodlarla yazdırma alanları ayrı ayrı belirlenip yazdırılabilir. Bunun için yazdırılacak alanların önceden bilinmesine ihtiyaç vardır. Örneğin aşağıdaki kodlar sırasıyla kodda belirtilen alanları yazdırma alanı olarak belirtip yazdırır:
Kod:
Sub Makro2()
    ActiveSheet.PageSetup.PrintArea = "$G$35:$G$44"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    ActiveSheet.PageSetup.PrintArea = "$AA$35:$AA$44"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
End Sub
 
Tablolar örnek dosyada mevcuttur. Gizlediğim bölümler var. Alanı seçtiğimde gizlenen bölümlerin yazdırılmasını istemiyorum.

Teşekkür ederim.
 

Ekli dosyalar

Mümkündür. Kodlarla yazdırma alanları ayrı ayrı belirlenip yazdırılabilir. Bunun için yazdırılacak alanların önceden bilinmesine ihtiyaç vardır. Örneğin aşağıdaki kodlar sırasıyla kodda belirtilen alanları yazdırma alanı olarak belirtip yazdırır:


Kod:
Sub Makro2()
    ActiveSheet.PageSetup.PrintArea = "$G$35:$G$44"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    ActiveSheet.PageSetup.PrintArea = "$AA$35:$AA$44"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
End Sub

Kod:
Sub Makro2()
    ActiveSheet.PageSetup.PrintArea = "$D$7:$O$22"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    ActiveSheet.PageSetup.PrintArea = "$D$24:$O$39"
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
End Sub

Bu şekilde uyarladım ancak sayfanın ortasına nasıl yazdırabilirim .
 
Ben bu kodları makro kaydet yoluyla elde ettim. Siz de sizin istediğiniz ayarları aynı yolla elde edebilirsiniz. Makro kaydetmeyi açın ve belirttiğiniz ayarlamaları yapıp yazdırın. Kaydı durdurduğunuzda istediğiniz kodlar modül içine kaydedilmiş olacaktır. Daha sonra o kodları isteğinize göre değiştirirsiniz.
 
Ben bu kodları makro kaydet yoluyla elde ettim. Siz de sizin istediğiniz ayarları aynı yolla elde edebilirsiniz. Makro kaydetmeyi açın ve belirttiğiniz ayarlamaları yapıp yazdırın. Kaydı durdurduğunuzda istediğiniz kodlar modül içine kaydedilmiş olacaktır. Daha sonra o kodları isteğinize göre değiştirirsiniz.

Teşekkür ederim.
 
Geri
Üst