• DİKKAT

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

Pdf kaydetme ile ilgili yardım.

Katılım
25 Şubat 2014
Mesajlar
48
Excel Vers. ve Dili
Excel Vers. ve Dili:
OFFICE 2013
Çalışma sayfamı bilgisayar masaüstüne bir klasör açıp bu açılan klasör ismini GİRİŞ sayfasından f12 hücresinden almasını 1-36 numaralı aktif olan sayfaları birleştirerek tek bir pdf dosyası haline getirerek bu klasörün içine atmasını istiyorum yardımcı olursanız sevinirim
 
Son düzenleme:
Kullandığınız excel versiyonunuz nedir?

Profilinizde bu bilgiyi güncellemenizi rica ederim.
 
Halit hocam vediğiniz kod tam istediğim ama sayfa numarası 1-s den 20-s kadar sayfaları alsın sadece o sayfalar listboxta görünmesi lazım
 
Dosyanızdaki sayfa isimleri nasıl gittiğini bilmiyorum ama sorunuzun cevabı burada

Kod:
Private Sub UserForm_Initialize()
ListBox1.ListStyle = 1
ListBox1.MultiSelect = 1
For i = 1 To ActiveWorkbook.Sheets.Count
ListBox1.AddItem Sheets(i).Name

Next i
End Sub

kod dosyadaki sayfaları listeliyor sizin istediğiniz listeleme için küçük bir örnek dosya ekleyin bir bakalım.
 
Bu kod işini görürmü

Kod:
Private Sub UserForm_Initialize()
ListBox1.ListStyle = 1
ListBox1.MultiSelect = 1
For i = 1 To ActiveWorkbook.Sheets.Count
[COLOR="Red"]If Right(Sheets(i).Name, 2) = "-s" Then[/COLOR]
ListBox1.AddItem Sheets(i).Name
[COLOR="red"]End If[/COLOR]
Next i
End Sub
 
Kod:
Option Explicit
Dim i          As Integer

Private Sub chkAll_Click()
    For i = 1 To lbxSheets.ListCount
        Me.lbxSheets.Selected(i - 1) = Me.chkAll.Value
    Next i
End Sub

Private Sub cmbCancel_Click()
    Unload Me
End Sub

Private Sub cmbPrint_Click()
    For i = 1 To Me.lbxSheets.ListCount
        If Me.lbxSheets.Selected(i - 1) = True Then
            If Me.chkPreview Then
                Me.Hide
                Sheets(Me.lbxSheets.List(i - 1, 0)).PrintPreview
                Me.lbxSheets.Selected(i - 1) = False
            Else
                Sheets(Me.lbxSheets.List(i - 1, 0)).PrintOut
                Me.lbxSheets.Selected(i - 1) = False
            End If
        End If
    Next i
End Sub



Private Sub UserForm_Initialize()
    Dim oWs    As Worksheet
    For Each oWs In Sheets
        If oWs.Type = 3 Then    'Chart sheet
            Me.lbxSheets.AddItem oWs.Name
            'exclude empty sheets
        ElseIf WorksheetFunction.CountA(oWs.Cells) > 0 Then
            Me.lbxSheets.AddItem oWs.Name
        End If
    Next oWs
End Sub



yukarda verdiğim yazdırma kodunu listboxta -s,-K,-ö,-D,-f sayfa adıyla başlayanları listboxta görünmesi için Halit bey bu koda göre uyarlaya bilirmiyiz.
 
Böyle dene

Kod:
Private Sub UserForm_Initialize()
ListBox1.ListStyle = 1
ListBox1.MultiSelect = 1
For i = 1 To ActiveWorkbook.Sheets.Count
If Right(Sheets(i).Name, 2) = "-s" Or Right(Sheets(i).Name, 2) = "-K" Or Right(Sheets(i).Name, 2) = "-ö" Or Right(Sheets(i).Name, 2) = "-D" Or Right(Sheets(i).Name, 2) = "-f" Then

ListBox1.AddItem Sheets(i).Name
End If
Next i
End Sub

Yada listelenmeyecek sayfaları kodlara eklememek gerek

Kod:
Private Sub UserForm_Initialize()
ListBox1.ListStyle = 1
ListBox1.MultiSelect = 1
For i = 1 To ActiveWorkbook.Sheets.Count
If Sheets(i).Name <> "ANASAYFA" Then
If Sheets(i).Name <> "DERSLER" Then
If Sheets(i).Name <> "SINIFLAR" Then

ListBox1.AddItem Sheets(i).Name
End If
End If
End If
Next i
End Sub
 
Sağolun halit hocam yardımcı olduğunuz için
 
Son düzenleme:
Geri
Üst