Macro'yla Excel'den Bölgesel Satış PDF Dosyaları Oluşturulması
Excel'de bir sayfadaki örneğin satışların ayrı ayrı PDF çıktılarının topluca oluşturulması istendiğinde gerekli Macro programı aşağıdaki BolumBolumPDF prosedüründe verilmiştir.
Bulunduğunuz sayfadaki tüm satışların çıktısı için SayfadanPDF,
Tüm Excel dosyasındaki sayfaların çıktısı için DosyadanPDF prosedürünü kullanınız.
Aşağıdaki prosedürlerin kullanımı için Excel sayfalarında özel bir menü veya düğmeler oluşturulmamıştır.
Excel sayfasındayken Alt-F8 yaptığınızda gelen menüden seçim yapılmıştır. Amacım, Alt-F8 Makro seçim menüsünün kullanımını göstermektir.
PDF dosyalar Belgelerim klasöründe oluşmaktadır.
'----------------------------------------------------------------------------------------------------------------------
Option Explicit
Dim MinRow(1 To 50), MaxRow(1 To 50) As Integer
Dim SonSatir, SonKolon, i, r, b As Integer
Dim SonKolonAdi, BolumBaslangici, BolumBitisi, CiktiKategoriAdi As String
'----------------------------------------------------------------------------------------------------------------------
Sub BolumBolumPDF()
SonSatir = Cells(Rows.Count, "B").End(xlUp).Row
SonKolon = Cells(2, Columns.Count).End(xlToLeft).Column
SonKolonAdi = Mid(Cells(2, SonKolon).Address, 2, 1)
CiktiKategoriAdi = "Satışları"
BolumBaslangici = "Ay"
BolumBitisi = "Nisan"
i = 1
b = 0
For r = 1 To SonSatir
If Range("A" & r) = BolumBaslangici Then
MinRow(i) = r - 1
End If
If Range("A" & r) = BolumBitisi Then
MaxRow(i) = r
i = i + 1
End If
Next r
b = i - 1
For i = 1 To b
Range("A" & MinRow(i) & ":" & SonKolonAdi & MaxRow(i)).ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=Range("A" & MinRow(i)) & " " & CiktiKategoriAdi & ".pdf"
Next i
End Sub
'----------------------------------------------------------------------------------------------------------------------
Sub SayfadanPDF()
'Bulunulan sayfadaki satışların PDF dosyaya çıktısının alınması
CiktiKategoriAdi = "Satışları"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveSheet.Name & " " & CiktiKategoriAdi & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveSheet.Name & " " & CiktiKategoriAdi & ".pdf"
End Sub
'----------------------------------------------------------------------------------------------------------------------
Sub DosyadanPDF()
CiktiKategoriAdi = "Tüm Satışlar"
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=CiktiKategoriAdi & ".pdf"
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=CiktiKategoriAdi & ".pdf"
End Sub