• DİKKAT

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

Sayfaları tek tek kaydetmek yerine kodlamak.

serkans

Altın Üye
Katılım
18 Ekim 2004
Mesajlar
171
Excel Vers. ve Dili
Office LTSC Pro Plus 21 64 Bit
Merhaba
Yardımcı olabilirseniz sevinirim. Aşağıdaki kodda PrintOut Copies:=1 ve 2, 3, 4 diye giden sayfaları 500 sayfaya kadar yazdırmak istiyorum bunu 500 e kadar kodlayabilir miyim? yoksa tek tek makroda kaydetmem mi gerek?

Sub Yazdır()
'
' Yazdır Makro
'
' Klavye Kısayolu: Ctrl+ö
'
Range("K4").Select
ActiveCell.FormulaR1C1 = "1"
Range("K5").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("K4").Select
ActiveCell.FormulaR1C1 = "2"
Range("K5").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("K4").Select
ActiveCell.FormulaR1C1 = "3"
Range("K5").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Range("K4").Select
ActiveCell.FormulaR1C1 = "4"
Range("K5").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
End Sub
 
K4 hücresine sırasıyla 1'den 500'e kadar rakam yazıp her rakam yazılımasında sonra sayfayı yazdırmak için (toplam 500 sayfa)

Kod:
Sub Yazdır()
 
With ActiveSheet
    For i = 1 To 500
        .Range("K4") = i
        .Calculate 'formul hesaplama manuel seçili ise ve hesaplanacaksa
        .PrintOut Copies:=1
    Next
End With

End Sub
 
Merhaba,

Bu tarz işlemler için döngü yöntemini kullanmalısınız. Aşağıdaki kodu deneyiniz.

Kod:
Option Explicit
 
Sub YAZDIR()
    Dim X As Integer
    
    For X = 1 To 500
        Range("K4") = X
        ActiveSheet.PrintOut
    Next
    
    MsgBox "İşleminiz tamamlanmıştır."
End Sub
 
Teşekkür ederim Korhan Ayhan...oldu

ve mancubus ilgin için...
 
Geri
Üst