Sub CetakSemuaRapotKePDF()
Dim ws As Worksheet
Dim i As Integer
Dim folderUtama As String
Dim pdfPath As String
Dim namaAnak As String
' --- ganti sheet ke Rapot X ---
Set ws = ThisWorkbook.Sheets("Rapot X")
' --- ambil nama folder dari cell K3 ---
folderUtama = ThisWorkbook.Path & "\" & Trim(ws.Range("K3").Value) & "\"
If Dir(folderUtama, vbDirectory) = "" Then MkDir folderUtama
Application.ScreenUpdating = False
Application.EnableEvents = False
' --- loop data 1 s.d. 36 ---
For i = 1 To 36
ws.Range("I13").Value = i
DoEvents ' beri waktu agar rumus update (misal nama anak berubah otomatis)
' --- ambil nama anak dari cell C5 ---
namaAnak = Trim(ws.Range("C5").Value)
If namaAnak = "" Then namaAnak = "Data_" & i
' --- bersihkan karakter ilegal pada nama file ---
namaAnak = Replace(namaAnak, "\", "_")
namaAnak = Replace(namaAnak, "/", "_")
namaAnak = Replace(namaAnak, ":", "_")
namaAnak = Replace(namaAnak, "*", "_")
namaAnak = Replace(namaAnak, "?", "_")
namaAnak = Replace(namaAnak, """", "_")
namaAnak = Replace(namaAnak, "<", "_")
namaAnak = Replace(namaAnak, ">", "_")
namaAnak = Replace(namaAnak, "|", "_")
' --- path dan nama file PDF ---
pdfPath = folderUtama & namaAnak & ".pdf"
' --- cetak ke PDF ---
ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfPath, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
Debug.Print "Mencetak: " & pdfPath
Next i
Application.EnableEvents = True
Application.ScreenUpdating = True
MsgBox "? Semua 36 rapot berhasil dicetak ke folder:" & vbCrLf & folderUtama, vbInformation
' --- opsional: buka folder hasil cetak ---
Shell "explorer.exe " & folderUtama, vbNormalFocus
End Sub
.jpg=w74-h74-p-k-no-nu)

Silahkan beri komentarnya