DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Korhan bey profildeki bilgi eski kalmış, benim amacım aynı excel kitabında oluşturulan sayfaların yazdırılabilir kısımlarını örnek dosyamdaki gibi sayfa 1 ve sayfa 2 yi birleştirerek tek bir şekilde pdf olarak kaydetmek. Konu ile ilgili örnek bir uygulama atarsanız sevinirim... Çok teşekkürler..Bu işlem için yeni sürüm excel kullanmanız gerekir. Profilinizde 2003 versiyon yazıyor.
Eğer yeni sürüm excel kullanıyorsanız MAKRO KAYDET yöntemini kullanarak gerekli kodları elde edebilirsiniz.
Sub s1s2PDFKaydet()
Sheets(Array("Sayfa1", "Sayfa2")).Select
Sheets("Sayfa1").Activate
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\...\Desktop\DEMO.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True
End Sub
Sub SayfalariTekPdfdeYaz()
Dim wshTemp As Worksheet, wsh As Worksheet
Dim rngArr() As Range, c As Range
Dim i As Integer
Dim j As Integer
ReDim rngArr(1 To 1)
For Each wsh In ActiveWorkbook.Worksheets
If wsh.Name = "Sayfa2" Or wsh.Name = "Sayfa3" Then
i = i + 1
If i > 1 Then
ReDim Preserve rngArr(1 To i)
End If
On Error Resume Next
Set c = wsh.Cells.SpecialCells(xlCellTypeLastCell)
If Err = 0 Then
On Error GoTo 0
Do While Application.CountA(c.EntireRow) = 0 And c.EntireRow.Row > 1
Set c = c.Offset(-1, 0)
Loop
Set rngArr(i) = wsh.Range(wsh.Range("A1"), c)
End If
Else
End If
Next wsh
Set wshTemp = Sheets.Add(after:=Worksheets(Worksheets.Count))
On Error Resume Next
With wshTemp
For i = 1 To UBound(rngArr)
If i = 1 Then
Set c = .Range("A1")
Else
Set c = _
ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell)
Set c = c.Offset(2, 0).End(xlToLeft) 'Skip one row
End If
If Application.CountA(rngArr(i)) > 0 Then
rngArr(i).Copy c
End If
Next i
End With
On Error GoTo 0
Application.CutCopyMode = False
With ActiveSheet.PageSetup
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
ActiveWindow.SelectedSheets.PrintPreview
i = InputBox("Print how many copies?", "ExcelTips", 1)
If IsNumeric(i) Then
If i > 0 Then
ActiveSheet.PrintOut Copies:=i
End If
End If
If MsgBox("Geçici oluşturulan sayfayı sileyim mi?", _
vbYesNo, "ExcelTips") = vbYes Then
Application.DisplayAlerts = False
wshTemp.Delete
Application.DisplayAlerts = True
End If
End Sub
... birleştirerek tek bir PDF yapmak istiyorum ...
netzone evet aynen oyle istiyorum ornek bir dosyada uygulayabilirmisiniz..

... malesef anlatamadım kusura bakmayın excel de bulunan sayfa 1 ve sayfa 2 yi tek pdf de 2 ayrı sayfa olarak kaydetmek istiyorum...

korhan bey benim istediğim aşağıdaki kod ile yapılan işin aynısı sitede araştırırken buldum ancak yüklediğim demo dosyamda çalıştıramadım yardımcı olurmusunu;
Private Sub CommandButton1_Click()
Dim syf(), yol As String, deg As String
syf = Array("KDV1-ÖNYÜZ", "KDV1-ARKAYÜZ")
Application.ScreenUpdating = False
yol = ThisWorkbook.Path
deg = "KDV1_On_Arka_" & Format(Now, "dd-mm-yyyy hh-mm-ss")
Sheets(syf).Select
ChDir yol
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
yol & "\" & deg & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False
Sheets("KDV1-ÖNYÜZ").Select
MsgBox "Pdf Olarak Kaydedildi.", vbInformation
End Sub