• Web sitemize destek olmak, Hazır Excel Dosyaları indirmek ve sitemizi reklamsız kullanmak için VIP Üyelik Satın alabilirsiniz.
    Hesabını VIP Üyeliğe Yükselt

Çözüldü Listboxta Seçilen Sayfayı PDF Yapma

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

yağızasker

Yeni Üye
Kullanıcı
Yaş
42
Versiyon
  1. Excel 2016
Sürüm
  1. 64 bit
Dil
  1. Türkçe

Reputation:

Herkese merhaba aşağıdaki çalışan kod ile seçilen sayfayı xlsm yapıyorum ve çalışıyor.
Ben aynı kodlarla seçilen sayfayı PDF yapmak istiyorum ama kod hep hata veriyor.
Microsoft Dosya Uzantıları ve Kodları Sayfası nda da PDF şeklini bulamadım
Userformu konunun ekine yerleştirdim.
Yardım edebilecek olan var mı

Kod:
Sub Xlsm_Yap ()
Application.ScreenUpdating = False
Dim txtmsg As String, txttitle As String
Dim txtresult As String, txtdefault As String
Dim JJ As String
JJ = Application.GetSaveAsFilename("YILDIZ", "Microsoft Excel Workbook (*.xlsm), *.xlsm", , "YILDIZ")
If JJ = "False" Then GoTo LastLine
'
Dim i As Integer, n() As String, f As Integer
Dim cnt1 As Integer, cnt2 As Integer
cnt1 = 0
For f = 0 To Me.ListBox1.ListCount
On Error GoTo 1
If Me.ListBox1.Selected(f) Then _
cnt1 = cnt1 + 1
1: Next f
ReDim n(1 To cnt1)
cnt2 = 0
For i = 0 To (Me.ListBox1.ListCount - 1)
On Error Resume Next
If Me.ListBox1.Selected(i) Then
cnt2 = cnt2 + 1
n(cnt2) = Me.ListBox1.list(i)
End If
Next i
On Error GoTo 0
Sheets(n).Copy
Sheets(n).Select
ActiveWorkbook.SaveAs Filename:= _
(JJ), _
FileFormat:=52, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWindow.Close
LastLine:
Application.ScreenUpdating = True
Unload Me
End Sub
Bu eklentiyi yapınca
FileFormat:=xlTypePDF, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
kod PDF yapmıyor.
 
Çözüm
Kendi begenizdeki userforma ve kodlara müdahale etmedim.

Bunun yerine yeni bir userform ekledim ve işlem de bu userform üzerinde gerçekleşiyor.
Yeni userformda seçilen sayfalar, bu belgenin bulunduğu dizine, XLSM ve PDF olarak ayrı ayrı kaydedilir.

Not: Örnek belgenizde sayfalar boş olduğu için PDF ye dönüştürülecek bir şey yok, boş sayfayı PDF yapamazsınız.
Bu nedenle sayfalarda birer hücreye veri yazdım.


Oluşturduğum kodlar şöyle:

C#:
Private Sub UserForm_Initialize()
Dim XD As Worksheet
Me.ListBox1.Clear
For Each XD In ActiveWorkbook.Worksheets
    Me.ListBox1.AddItem XD.Name
Next XD
End Sub

Private Sub CommandButton1_Click()
Set bukitap = ThisWorkbook
For i = 1 To...

Ömer BARAN

Kurucu
Yönetici
Kurucu
Versiyon
  1. Excel 2013
Sürüm
  1. 32 bit
Dil
  1. Türkçe

Reputation:

UserForm'u değil de, userformun içerisinde olduğu bir EXCEL belgesi yüklerseniz bakılır elbet.
 

yağızasker

Yeni Üye
Kullanıcı
Yaş
42
Versiyon
  1. Excel 2016
Sürüm
  1. 64 bit
Dil
  1. Türkçe

Reputation:

Örnek Dosyayı yükledim. Yardımcı olabilecek olan var mı
 

Ekli dosyalar

  • EYLÜL.xlsm
    26.8 KB · Görüntüleme: 2

Ömer BARAN

Kurucu
Yönetici
Kurucu
Versiyon
  1. Excel 2013
Sürüm
  1. 32 bit
Dil
  1. Türkçe

Reputation:

Kendi begenizdeki userforma ve kodlara müdahale etmedim.

Bunun yerine yeni bir userform ekledim ve işlem de bu userform üzerinde gerçekleşiyor.
Yeni userformda seçilen sayfalar, bu belgenin bulunduğu dizine, XLSM ve PDF olarak ayrı ayrı kaydedilir.

Not: Örnek belgenizde sayfalar boş olduğu için PDF ye dönüştürülecek bir şey yok, boş sayfayı PDF yapamazsınız.
Bu nedenle sayfalarda birer hücreye veri yazdım.


Oluşturduğum kodlar şöyle:

C#:
Private Sub UserForm_Initialize()
Dim XD As Worksheet
Me.ListBox1.Clear
For Each XD In ActiveWorkbook.Worksheets
    Me.ListBox1.AddItem XD.Name
Next XD
End Sub

Private Sub CommandButton1_Click()
Set bukitap = ThisWorkbook
For i = 1 To ListBox1.ListCount
    If ListBox1.Selected(i - 1) = True Then
        bukitap.Sheets(Me.ListBox1.List(i - 1, 0)).Copy
        say = say + 1: Me.ListBox1.Selected(i - 1) = False
        ActiveWorkbook.SaveAs bukitap.Path & "\" & ListBox1.List(i - 1) & ".xlsm", 52
        ActiveWorkbook.ExportAsFixedFormat xlTypePDF, bukitap.Path & "\" & ListBox1.List(i - 1) & ".pdf"
        ActiveWorkbook.Close 0
    End If
Next
If say > 0 Then: MsgBox say & " adet PDF belge ve XLSM belge kaydedildi.", vbInformation, "::..ExcelDestek.Com..::"
If Not say > 0 Then: MsgBox "PDF kaydetmek için sayfa ismi seçmediniz.", vbInformation, "::..ExcelDestek.Com..::"
End Sub
 

Ekli dosyalar

  • ExcelDestekEYLÜL.xlsm
    31.5 KB · Görüntüleme: 1
Çözüm
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst