Makro Klasör Kaydı

Katılım
31 Ağustos 2023
Mesajlar
6
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021
Arkadaşlar merhaba,
81 il ile ilgili verilerin olduğu bir excel tablosu var elimde. Bu verileri ayrı ayrı PDF'ler olarak kaydeden bir makro kullanıyorum. Makro PDF dönüşümü yaparken bütün PDF'leri excel dosyasının olduğu klasöre kaydediyor. Sizlere sorum/ricam kullandığım makro üzerinde değişiklik yaparak excel sayfalarını kendisiyle aynı isimdeki klasöre kaydedebilecek şekilde düzenlenebilir mi? Örnek olarak excel sayfasının adı "Adana", excel sayfasının olduğu klasörde aynı zamanda "Adana" adında da bir klasör olacak. PDF kaydını direkt bu klasöre yapabilir mi?

Kod:
Private Sub CommandButton1_Click()
For x = 1 To Sheets.Count
yol = ThisWorkbook.Path & "\" & Sheets(x).Name
On Error GoTo hata:
    Sheets(x).ExportAsFixedFormat Type:=xlTypePDF, Filename:=yol
hata:
Next
MsgBox "İşlem tamamlandı."
End Sub
Kullandığım kod bu. Teşekkür ederim.
 

RBozkurt

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

Kod:
Private Sub CommandButton1_Click()
Dim x As Integer
Dim yol As String
Dim klasorYol As String

On Error GoTo hata:

For x = 1 To Sheets.Count
    yol = ThisWorkbook.Path & "\" & Sheets(x).Name & "\" & Sheets(x).Name & ".pdf"
    klasorYol = ThisWorkbook.Path & "\" & Sheets(x).Name
    If Dir(klasorYol, vbDirectory) = "" Then
        MkDir klasorYol
    End If
    Sheets(x).ExportAsFixedFormat Type:=xlTypePDF, Filename:=yol
Next
MsgBox "İşlem tamamlandı."
Exit Sub
hata:
    MsgBox "Bir hata oluştu: " & Err.Description
End Sub
 
Katılım
31 Ağustos 2023
Mesajlar
6
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021
Hocam çok teşekkür ederim çok güzel çalıştı. Acaba şöyle bir şey ile geliştirmek mümkün olur mu?

Her ilin klasörünün içine sabit isimli bir klasör, o klasörün içine de pdf dosyamız gelecek şekilde.

Örnek olarak; Adana(klasörün adı)>Yusuf(her ilde aynı isimde olacak)>Adana(PDF)

İl adı klasör adı olacak, sonrasında her ilin içerisinde yusuf adında bir klasör olacak ve içerisinde ilgili ilin PDF dosyası olacak.
 

RBozkurt

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

Kod:
Private Sub CommandButton1_Click()
Dim x As Integer
Dim yol As String
Dim klasorYol As String
Dim testKlasorYol As String

On Error GoTo hata:

For x = 1 To Sheets.Count
    klasorYol = ThisWorkbook.Path & "\" & Sheets(x).Name
    testKlasorYol = klasorYol & "\Yusuf"
    yol = testKlasorYol & "\" & Sheets(x).Name & ".pdf"
    If Dir(klasorYol, vbDirectory) = "" Then
        MkDir klasorYol
    End If
    If Dir(testKlasorYol, vbDirectory) = "" Then
        MkDir testKlasorYol
    End If
    Sheets(x).ExportAsFixedFormat Type:=xlTypePDF, Filename:=yol
Next
MsgBox "İşlem tamamlandı."
Exit Sub
hata:
    MsgBox "Bir hata oluştu: " & Err.Description
End Sub
 
Katılım
31 Ağustos 2023
Mesajlar
6
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021
Hocam ne kadar teşekkür etsem az gerçekten. Beni öyle büyük bir iş yükünden kurtardınız ki anlatamam.
 

RBozkurt

𐱅𐰇𐰼𐰚
Altın Üye
Katılım
10 Ocak 2018
Mesajlar
681
Excel Vers. ve Dili
Microsoft Office 2024
Google Sheets
Altın Üyelik Bitiş Tarihi
19-12-2026
Hocam ne kadar teşekkür etsem az gerçekten. Beni öyle büyük bir iş yükünden kurtardınız ki anlatamam.
Kolay gelsin, iyi çalışmalar.
 
Üst