• DİKKAT

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

Sayfa1 ve Sayfa2 Hariç Tüm Çalışma Kitabını Yazdırma.

Katılım
15 Eylül 2006
Mesajlar
166
Excel Vers. ve Dili
2003 sp2 TR
__________________
Merhaba;


Çalışma kitabımda toplam 200 adet sayfa var ve hepsini yazıdırmak zaman alıyor. Sayfa1 ve Sayfa2 hariç hepsini yazdırmam mümkünmü ?

Formda Aşağıdaki örneği buldum. İşime yaradı ve kendime göre uyarlıyamadım.

Yardımlarınız için tşekkürler.

Sub Makro2()

For i = 1 To Sheets.Count
yeniden:
If i = Sheets.Count Then GoTo son:
Sheets(i).PrintOut Copies:=1, Collate:=True
a = MsgBox(i & ". Sayfa yazdırılıyor." & i + 1 & ". Sayfanın Yazdırılmasına geçilsin mi?", vbYesNo)
i = i + 1
If a = 7 Or i > Sheets.Count Then Exit Sub
If a = 6 Then GoTo yeniden:
Next
son:
MsgBox "Bütün Sayfalar Yazdırıldı", vbInformation
Sheets(i).PrintOut Copies:=1, Collate:=True
End
End Sub
 
Katılım
15 Eylül 2006
Mesajlar
166
Excel Vers. ve Dili
2003 sp2 TR
__________________
Göstermiş olduğunuz ilgi için Teşekkürler.

İki problemle karşılaştım.

1 - Onay vermeden tüm saysafarı otomatik yazdırması,
2 - Sayfa atlatarak yazdırmakta. 3.5.7 bu şekilde devam ediyor.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,239
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Merhaba.
Aşağıdaki kodları denermisiniz.:cool:
Kod:
Sub sayfalari_yazdir()
For i = 3 To Sheets.Count
If MsgBox("[ " & Sheets(i).Name & " ] Yazdırılsınmı ?", vbYesNo) = vbNo Then GoTo atla
Sheets(i).PrintOut Copies:=1, Collate:=True
atla:
Next
MsgBox "Bütün Sayfalar Yazdırıldı", vbInformation
End Sub
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
Bu şekil sayfa3 ten itibaren bir,bir atlayarak diğer sayfaları onay isteyerek yazdırır.
Sub Makro2()
For i = 3 To Sheets.Count
yeniden:
If i = Sheets.Count Then GoTo son:
Sheets(i).PrintOut Copies:=1, Collate:=True
a = MsgBox(i & ". Sayfa yazdırılıyor." & i + 1 & ". Sayfanın Yazdırılmasına geçilsin mi?", vbYesNo)
i = i + 1
If a = 7 Or i > Sheets.Count Then Exit Sub
If a = 6 Then GoTo yeniden:
Next
son:
MsgBox "Bütün Sayfalar Yazdırıldı", vbInformation
Sheets(i).PrintOut Copies:=1, Collate:=True
End
End Sub
 
Üst