• DİKKAT

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

Çalışma Kitabı Sayfalarını Yazdırma

Katılım
28 Haziran 2016
Mesajlar
4
Excel Vers. ve Dili
2016 tr
Arkadaşlar hazırladığım exel çalışma kitabımda bulunan sayfa 2'den sayfa 16'ya kadar olan sayfaları yazdırma makrosu hazırladım ama bir türlü çalıştıramıyorum.

İstediğim aslında basit bir kod ama çözümü bulamıyorum. Sadece yazdırma alanı belirlenmiş olan istenilen sayfaları tek bir buton ile yazdırma makrosu. Yardımcı olursanız çok sevinirim.
 
Buyurun.:cool:
Kod:
Dim i As Byte
For i = 2 To 16
    Sheets(i).PrintOut
Next i
 
kodu bugün deneme şansım oldu bütün sayfaları yazdırdı. ama orjinal haliyle çalışmadı sub ve end sub ekleyince çalıştı. onda da bütün sayfaları yazdırdı. sayfa numaralarını eklemeli bir kod yazılabilir mi?
 
kodu bugün deneme şansım oldu bütün sayfaları yazdırdı. ama orjinal haliyle çalışmadı sub ve end sub ekleyince çalıştı. onda da bütün sayfaları yazdırdı. sayfa numaralarını eklemeli bir kod yazılabilir mi?

Elbette sub-endsub arasına yazılmalı.
Ben onu nesne içerisinede yazdırabileceğinizi düşündümde ondan başlarına sub bitişinede end sub yazmadım.
Kodun çalışmasına gelince tüm sayfaları yazdırmıyor.
İlk sayfa hariç 16ncı sayfaya kadar yazdırıyor.
Zira siz öyle istemişsiniz.
2nci sayfadan 16ncı sayfaya kadar yazdırılsın istemiştiniz.
indis 2 ile 16 arasıdır.:cool:
 
emeğinize teşekkür ederim. isteğimiz birden fazla sayfa numaralarını belirterek yazdırma şansımız var mı?
 
Deneyiniz.

Kod:
Sub SEÇİME_GÖRE_YAZDIR()
    Dim Seçim As String, X As Integer
    
    Seçim = Application.InputBox("Yazdırma istediğiniz sayfa numaralarını aralarına virgül ekleyerek aşağıdaki gibi giriniz." & _
    Chr(10) & Chr(10) & "1,3,5", "Yazdırılacak Sayfa Numaralarını Giriniz.")
    
    If Seçim = "" Or Seçim = "False" Then Exit Sub
    
    If InStr(1, Seçim, ",") = 0 Then
        Sheets(Val(Seçim)).PrintOut
    Else
        Sayfalar = Split(Seçim, ",")
        
        For X = LBound(Sayfalar) To UBound(Sayfalar)
            Sheets(Val(Sayfalar(X))).PrintOut
        Next
    End If
    
    MsgBox "Seçtiğiniz sayfalar yazdırılmıştır.", vbInformation
End Sub
 
merhaba arkadaşlar, bir sorum olacak exel de örnek veriyorum 10 adet çalışma kitabı farklı isimlerle bu çalışma kitaplarının sadece 1 inci sayfalarını tek seferde nasıl yazdırabilirim.
 
Merhaba,

Bu şekilde deneyin.
Dosyaların olduğu klasör yolu ve adı bölümünü kendinize göre uyarlarsınız.

Kod:
Sub Sayfa_Yazdir()

    Dim klasor As String, dosya

    klasor = "C:\deneme" 'dosya yolu ve adı

    Application.ScreenUpdating = False
    
    For Each dosya In CreateObject("Scripting.FileSystemObject").GetFolder(klasor).Files
        If ThisWorkbook.Name <> dosya.Name Then
            Workbooks.Open Filename:=dosya
                Sheets("Sayfa1").PrintOut
            ActiveWorkbook.Close True
        End If
    Next

    Application.ScreenUpdating = True

End Sub

.
 
Geri
Üst