Excel pdf çevirme vba kodu

Katılım
10 Ağustos 2017
Mesajlar
159
Excel Vers. ve Dili
Excel 2017
Türkçe
Altın Üyelik Bitiş Tarihi
11-03-2023
Merhaba ,

Ekte yer alan tabloyu pdf e çevirmek için VBA kodu hakkında yardımcı olabilir misiniz ?

İyi çalışmalar
 

Ekli dosyalar

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,857
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar

Makro kaydetme yöntemi ile yapabilirsiniz.
 
Katılım
10 Ağustos 2017
Mesajlar
159
Excel Vers. ve Dili
Excel 2017
Türkçe
Altın Üyelik Bitiş Tarihi
11-03-2023
Merhaba ,

Makro ile işlem nasıl yapılıyor bilmiyorum bende aşağıdaki kod var ama sayfaya uyarlayamadım.

Sub PDFKaydet_Click()
dosya_adı = Cells(6, "D").Value & ".pdf"
If dosya_adı = "" Then
MsgBox "Dosya adı yok"
Exit Sub
End If
a = MsgBox(" PDF MASAÜSTÜNE KAYIT EDİLECEK", vbYesNo + vbInformation, " Uyarı")
If a = vbYes Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & dosya_adı, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
MsgBox "MASAÜSTÜNÜ KONTROL EDİNİZ. İŞLEM TAMAM :)"
End If
If a = vbNo Then
MsgBox "İŞLEMİ İPTAL ETTİNİZ"
End If
End Sub
 
Katılım
10 Ağustos 2017
Mesajlar
159
Excel Vers. ve Dili
Excel 2017
Türkçe
Altın Üyelik Bitiş Tarihi
11-03-2023
Merhaba Korhan Bey,

Linkte olanları yapabiliyorum ancak bana pdf e çevirme için olması gereken kod lazım. Bendeki kodu uyarlayamadım ekli dosyaya

İyi çalışmalar
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Makro Kaydet yöntemini kullanarak ilgili kodlara erişebilirsiniz.

Makro kaydet tuşuna bastıktan sonra sayfanızı pdf formatında kayıt ediniz. Sonrasında makro kaydını durdurunuz.

Makro kaydet işlemini yaptığınız dosyanızda ALT +F11 tuşlarına bastığınızda kod editöründe kodları görebilirsiniz.
 
Katılım
10 Ağustos 2017
Mesajlar
159
Excel Vers. ve Dili
Excel 2017
Türkçe
Altın Üyelik Bitiş Tarihi
11-03-2023
Korhan Bey bu bilgi için teşekkür ederim bunu öğrenmem çok iyi oldu.

Belirttiğiniz şekilde olumlu sonuca ulaştım sayenizde. Ancak sayfanın A1 - D30 Aralığını sadece PDF olarak kaydetmek istiyorum. Bu şekilde tüm verileri alıyor haklı olarak makro (kod)

Koda ekleme yaparak sadece A1-D30 hücre aralığını PDF e çevirmemiz mümkün mü acaba

Sub Makro1()
'
' Makro1 Makro
'
' Klavye Kısayolu: Ctrl+Shift+A
'
ChDir "C:\Users\lokman.guvenc\Desktop"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\lokman.guvenc\Desktop\Tazminat Hesaplama.pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
MsgBox "Form Masaüstüne Kaydedildi.."
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Böyle olabilir sanırım.

C++:
    ActiveSheet.Range("A1:D30").ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:="C:\Users\lokman.guvenc\Desktop\Tazminat Hesaplama.pdf" , _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
 
Katılım
10 Ağustos 2017
Mesajlar
159
Excel Vers. ve Dili
Excel 2017
Türkçe
Altın Üyelik Bitiş Tarihi
11-03-2023
Teşekkür ederim Korhan Bey,

Son olarak bilgisayar adı olarak benim bilgisayar adım geçiyor başka bilgisayarda hata veriyor formül. Bilgisayar adı gözetmeden pdf kaydetmesi için ne yapabilirim

İyi çalışmalar
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İlgili bilgisayarda dosya nereye kayıt edilecek?
 
Katılım
10 Ağustos 2017
Mesajlar
159
Excel Vers. ve Dili
Excel 2017
Türkçe
Altın Üyelik Bitiş Tarihi
11-03-2023
Masaüstüne Korhan Bey.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
    ActiveSheet.Range("A1:D30").ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=Environ("UserProfile") & "\Desktop\Tazminat Hesaplama.pdf" , _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
 
Katılım
10 Ağustos 2017
Mesajlar
159
Excel Vers. ve Dili
Excel 2017
Türkçe
Altın Üyelik Bitiş Tarihi
11-03-2023
Teşekkür Ederim Korhan Bey.

İyi çalışmalar
 
Katılım
26 Kasım 2022
Mesajlar
3
Excel Vers. ve Dili
Excel 2019 Ingilizce
Deneyiniz.

C++:
    ActiveSheet.Range("A1:D30").ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=Environ("UserProfile") & "\Desktop\Tazminat Hesaplama.pdf" , _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
Ayhan bey Bu koda bir de her pdf olarak kayd etdiyinde pdf dosyasının ismini belli bir hücredeki textden almasınıda ekleye bilirmisiniz?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

A1 hücresine göre ayarladım. Uzantısı olmadan ilgili hücreye dosya adını yazarsanız sorun çıkmadan kullanabilirsiniz.

C++:
ActiveSheet.Range("A1:D30").ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=Environ("UserProfile") & "\Desktop\" & Range("A1").Value & ".pdf" , _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
 
Katılım
26 Kasım 2022
Mesajlar
3
Excel Vers. ve Dili
Excel 2019 Ingilizce
Deneyiniz.

A1 hücresine göre ayarladım. Uzantısı olmadan ilgili hücreye dosya adını yazarsanız sorun çıkmadan kullanabilirsiniz.

C++:
ActiveSheet.Range("A1:D30").ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=Environ("UserProfile") & "\Desktop\" & Range("A1").Value & ".pdf" , _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
Size zahmet olmayacaksa bana iki hücreden alması gerekiyor. 1 Fatura kodu, 2 Müşteri adı. Bunuda yaparsanız çok sevinirim
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Kod içinde benim yazdığım gibi birleştirme işaretini kullanarak dilediğiniz kadar hücre adresini yazabilirsiniz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
ActiveSheet.Range("A1:D30").ExportAsFixedFormat Type:=xlTypePDF, _
    Filename:=Environ("UserProfile") & "\Desktop\" & Range("A1").Value & " - " & Range("B1").Value & ".pdf" , _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False
 
Üst