• DİKKAT

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

Tüm çalışma sayfalarını yazdırma

Katılım
21 Ocak 2009
Mesajlar
40
Excel Vers. ve Dili
Office 2013
Merhaba,
Aşağıdaki kod ile aktif çalışma sayfasındaki belli bir hücre aralığını yazıcıya gönderiyorum. Çalışma kitabındaki tüm sayfalarda aynı hücre aralığını nasıl yazdırabilirim? Çalışma kitabı içinde yaklaşık 200-300 sayfa var ve bu sayfa isimleri değişiyor sabit değil. Bir butonla mevcut sayfaların tümünde aynı hücre aralığını yazdırmak istiyorum ???


Kod:
Sub yillikizinyazdir()

    Range("A1:K47").Select
    ActiveSheet.PageSetup.PrintArea = "$A$1:$K$47"
    ActiveWindow.SmallScroll Down:=-69
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False

End Sub
 
Denermisiniz.
Sub yillikizinyazdir()
Dim i
For i = 1 To Worksheets.Count
Worksheets(i).celect
Range("A1:K47").Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$K$47"
ActiveWindow.SmallScroll Down:=-69
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Next

End Sub
 
Tüm sayfaları yazdırır.
Alternatif. :cool:
Kod:
Sub yillikizinyazdir59()
Dim sh As Worksheet
    For Each sh In Worksheets
        sh.PageSetup.PrintArea = "$A$1:$K$47"
        sh.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
    Next

End Sub
 
teşekkür ediyorum her iki kod çalışıyor,
çalışma kitabında ilk üç sayfa hariç (bu sayfaların ismi belli ve sabit), diğer tüm sayfaların yazılmasını istesem çok şey mi istemiş olurum :)
 
teşekkür ediyorum her iki kod çalışıyor,
çalışma kitabında ilk üç sayfa hariç (bu sayfaların ismi belli ve sabit), diğer tüm sayfaların yazılmasını istesem çok şey mi istemiş olurum :)
Buyurun.:cool:
Kod:
Sub yillikizinyazdir59()
Dim sh As Worksheet
    For Each sh In Worksheets
        If sh.Index > 3 Then
            sh.PageSetup.PrintArea = "$A$1:$K$47"
            sh.PrintOut Copies:=1, Collate:=True, _
            IgnorePrintAreas:=False
        End If
    Next

End Sub
 
Buyurun.:cool:
Kod:
Sub yillikizinyazdir59()
Dim sh As Worksheet
    For Each sh In Worksheets
        If sh.Index > 3 Then
            sh.PageSetup.PrintArea = "$A$1:$K$47"
            sh.PrintOut Copies:=1, Collate:=True, _
            IgnorePrintAreas:=False
        End If
    Next

End Sub

emeğinize sağlık hocam istediğim gibi çalıştı :) teşekkürler...
 
Geri
Üst