Klasördeki bütün excel çalışmaları yazdır. ??

Katılım
19 Mayıs 2022
Mesajlar
69
Excel Vers. ve Dili
vba
Merhaba arkadaşlar 2023 adında bir klasörüm var ve içerisinde 72 tane excel dosyası mevcut tek tek yazdır demektense bunları topluca nasıl yazdırabilirim.
excel dosya isimleri farklı fakat içerikte Sayfa1 adları hepsinde aynı sadece Sayfa1 deki veriler yazdırılsın. Olabilirse Sayfa1 deki verini Sayfa oranı %10 daha yani birazcık daha küçük yazdırılabilir mi ?
tşk ederim.
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
686
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Deneyiniz,
AI üründür denemedim.

Makroyu bir dosyaya ekleyin; bu dosya 2023 klasörü ile aynı klasör içinde olsun.

Kod:
Sub KlasordekiExcelleriYazdir()
    Dim MyFolder As String
    Dim MyFile As String
    Dim wb As Workbook
    
    Application.ScreenUpdating = False
    
    MyFolder = ThisWorkbook.Path & "\2023\"
    MyFile = Dir(MyFolder & "*.xls*")
    
    Do While MyFile <> ""
        Set wb = Workbooks.Open(Filename:=MyFolder & MyFile)
        With wb.Sheets("Sayfa1").PageSetup
            .Zoom = False
            .FitToPagesTall = 1
            .FitToPagesWide = 1
            .Zoom = 90 ' Sayfa oranı %10 daha küçük
        End With
        ActiveSheet.PrintOut Copies:=1
        wb.Close SaveChanges:=False
        MyFile = Dir
    Loop
    
    Application.ScreenUpdating = True
    
End Sub
 
Katılım
19 Mayıs 2022
Mesajlar
69
Excel Vers. ve Dili
vba
Sub Toplu_Yazdırma()

Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each dosya In CreateObject("scripting.filesystemobject").getfolder(ThisWorkbook.Path).Files
If dosya.Name <> ThisWorkbook.Name And VBA.Left(dosya.Name, 2) <> "~$" Then
Set dosyaac = Workbooks.Open(dosya)
dosyaac.Sheets("Sayfa1").Range("a1:m27").PrintOut
dosyaac.Close , True
End If
Next
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

sanırım bu kod işimi görür tşk ler
 
Katılım
19 Mayıs 2022
Mesajlar
69
Excel Vers. ve Dili
vba
Deneyiniz,
AI üründür denemedim.

Makroyu bir dosyaya ekleyin; bu dosya 2023 klasörü ile aynı klasör içinde olsun.

Kod:
Sub KlasordekiExcelleriYazdir()
    Dim MyFolder As String
    Dim MyFile As String
    Dim wb As Workbook
   
    Application.ScreenUpdating = False
   
    MyFolder = ThisWorkbook.Path & "\2023\"
    MyFile = Dir(MyFolder & "*.xls*")
   
    Do While MyFile <> ""
        Set wb = Workbooks.Open(Filename:=MyFolder & MyFile)
        With wb.Sheets("Sayfa1").PageSetup
            .Zoom = False
            .FitToPagesTall = 1
            .FitToPagesWide = 1
            .Zoom = 90 ' Sayfa oranı %10 daha küçük
        End With
        ActiveSheet.PrintOut Copies:=1
        wb.Close SaveChanges:=False
        MyFile = Dir
    Loop
   
    Application.ScreenUpdating = True
   
End Sub
Çok tşk ederim bende bulmaya çalıştım. Sizin koduda deneyeceğim.
 
Katılım
19 Mayıs 2022
Mesajlar
69
Excel Vers. ve Dili
vba
Bir kaç çıktı aldım eline sağlık çok işime yarayacak zahmetten kurtardınız.
Çıktılarda küçültme işleminde hizalamayı sayfa ortasına yapılabilir mi ? makro ile
veriler A4 sol tarafa göre küçülmüş olmuyorsa yine bu şekilde kalsın.
Tekrar tşk ederim.
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
686
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
1 yerine False yazıp deneyin

Kod:
.FitToPagesTall = 1
.FitToPagesWide = 1
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
686
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Kolay gelsin.
 
Üst