• DİKKAT

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

seçili Alanları PDF olarak Kaydet

Katılım
25 Ağustos 2012
Mesajlar
562
Excel Vers. ve Dili
Office 2003
Herkese iyi akşamlar. Forumda araştırmama rağmen aradığım gibi bir kod bulamadım. Yapmak istediğim bir çalışma sayfasında seçili alanı bir commandbuton yardımıyla PDF olarak kaydetmek istiyorum. Bu alan alt alta 3 sayfalık bir alan. Bunu da kaydetederken bana nereye kaydedeceğini sormasını ve adını da benim yazmamı sormasını istiyorum. Böyle bir koda ihtiyacım var yardımlarınız için şimdiden teşekkürler.
 
Merhabalar Sayın GÖKER.

Aşağıdaki gibi bir şey olabilir.
Kod; excel belgesinin bulunduğu klasöre, excel belgesinin adı - B1 hücresindeti değer - günün tarihi
adıyla pdf oluşturur, End Sub satırından önceki mavi renkli True değeri, kayıt sonrasında pdf belgenin otomatik açılmasını sağlar,
bu değeri False yazarsanız kayıt sonrası pdf belge otomatik açılmaz.

(pdf belgenin adı ve konumuna ilişkin InputBox olayını bilemiyorum, o kısımla ilgili olarak bilgisi olanlar cevap verecektir.)
.
Kod:
Private Sub CommandButton1_Click()
Dim s1 As Worksheet: Set s1 = Sheets("Sayfa1")
    [COLOR="Red"]alan[/COLOR] = "A1:H" & s1.[A65536].End(3).Row
    [COLOR="red"]isim[/COLOR] = ActiveWorkbook.Name & "-" & s1.Range("B1").Value: tarih = Format(Now, "dd-mm-yy ")
Range(alan).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Application.ThisWorkbook.Path & "\" & isim & "-" & tarih, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=[B][COLOR="Blue"]True[/COLOR][/B]
End Sub
 
Hocam teşekkür ederim deneme yapayım dönüş yapacağım size Trabzon dan selamlar

Hocam denedim ancak hata verdi..
 
Son düzenleme:
Sayfa açıkken ALT+F11 tuşlarına basıp, kodları göörüntüleyin, CommandButton1 kodunun ilk satırına fareyle tıklayın F8 tuşuna tek tek basarak kodun adım adım çalışmasını sağlayın, böylece hangi satırda sorun çıktığını anlarsınız, ben denemiştim sorun yoktu.
Örneğin kodun kullandığı sayfa adı (kodda Sayfa1) yanlış olabilir bilemiyorum.
 
Hocam,
Range(alan).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Application.ThisWorkbook.Path & "\" & isim & "-" & tarih, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
hata bu satırda veriyor
 
O satıra geldiğinizde üstteki isim ve alan (kırmızı renklendirmiştim) kelimelerinin üstüne fareyle geldiğinizde ne görüyorsunuz acaba?

Örnek belgeniz olsaydı doğrudan bakardım.
 
2003 versiyonda önerilen kod çalışmaz. En az 2010 excel sürümüne geçmelisiniz.
 
Öğrenmiş olduk sağ olun Sayın AYHAN,
belirttiğim kod'un benzerini daha önce kendi belgemde kullanmıştım.
Benim office 2013, Ergün Bey 2003 diye yazmış versiyon olarak.

Beni aşacağını tehmin etmiştim zaten, umarım 2003 'te geçerli bir kod bulunur.
 
Hocalarım çok teşekkür ederim sayenizde öğrenmiş olduk 2003 te bu iş olmuyor. Ama malüm iş yerimdeki Pc de Office yükseltme şansım yok. Böylelikle bunu yapmakta suya düşmüş oldu. Çok sağolun Saygılarımla
 
Halit Hocam teşekkür ederim. İş yerimdeki pc de Office 2003 var ve yüseltme şansım yok. Malüm güvenli vs nedenlerle. Onun için bu işi yapmaktan şimdilik vaz geçtik. Umarım ilerleyen zamanlarda. Çok sağolun saygılarımla
 
Merhaba, eski bir konu ama kodlar mükemmel çalışıyor. Seçili alanı tek sayfaya sığdırıyor böyle olunca çıktı alınca yazılar okunmuyor. Tek sayfa değilde normal şekilde pdf e çevirmek mümkün olur mu ?

Teşekkürler.
 
Sizin sayfa ayarınız tek sayfaya sığdır olarak ayarlı olabilir. Dosyanızı eklerseniz kontrol edebiliriz.
 
Hocam teşekkürler hiç aklıma gelmemişti, sayfa düzeni > genişlik: 1 yükseklik:1 ayarını Otomatik yapınca düzeldi.
 
Merhaba arkadaşlar

Private Sub CommandButton1_Click()
Dim sh As Worksheet
Set sh = Worksheets("FATURA")
yol = ThisWorkbook.Path
isim = sh.Range("D13").Value
sh.Select
sh.Range("B6:H74").Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=yol _
& "\" & isim & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End Sub

bir çalışma var bunu D:\YEDEKLER klasörünün içine D13 YAZILI isimİ-tarih-saat şeklinde kaydetmesi için nasıl revize edilebilir
yardımınız için şimdiden teşekkürler
 
Aşa
Private Sub CommandButton1_Click()
Dim sh As Worksheet
Set sh = Worksheets("FATURA")
yol = "D:\YEDEKLER"
isim = "D13 YAZILI " & sh.Range("D13").Value
 
Erkan Bey beni yanlış anladınız d13 yazılı yazmakayacak d13 te bulunan ismi pdf dosyasına isim verecek ve sonuna tarih ve saatide ekleyecek o şekilde kaydecek pdf yi
 
Geri
Üst