CETAK MASAL DENGAN KELUARAN PDF DARI EXCEL

 

Cara Print Masal dengan Banyak Data Menggunakan VBA Excel dan Menyimpannya ke PDF

Bagi Anda yang bekerja dengan data dalam jumlah besar, seperti raport siswa atau laporan lainnya, mencetak file satu per satu tentu memakan waktu. Dalam artikel ini, kami akan menjelaskan bagaimana memanfaatkan VBA Excel untuk melakukan print masal dengan banyak data secara otomatis, dan menyimpan hasilnya dalam format PDF.

Tampilan Awal


Persiapan Data dan Desain Layout

  1. Data: Semua data siswa ditempatkan pada s sheet terpisah, dan diatur sedemikian rupa sehingga bisa dipanggil otomatis menggunakan VBA.
  2. Layout Halaman: Pastikan tampilan sudah rapi dan sesuai untuk dicetak ke PDF.

Langkah-langkah Implementasi VBA

Berikut langkah-langkah untuk mencetak laporan secara otomatis:

1. Tambahkan Tombol dan Buat Makro

Gunakan menu Developer untuk menambahkan tombol-tombol, lalu sambungkan tombol tersebut ke kode VBA.

2. Kode VBA untuk Navigasi Data

Sub Rectangle4_Click()
Dim awal, Akhir As Integer
Dim filePath As String

awal = Range("S3").Value
Akhir = Range("S5").Value
If awal <= Akhir And awal >= 1 Then
Application.ScreenUpdating = False
    For i = awal To Akhir
        With Sheets("CetakRapot")
            .Range("N4").Value = i
            filePath = "D:\00 Asisten Kurikulum\03 STS\Rapot Kelas XII 2324 Ganjil 2024\FIX\Rapot 12 TP 1\" & .Range("N12").Value & ".pdf"
            .ExportAsFixedFormat Type:=xlTypePDF, Filename:=filePath, Quality:=xlQualityStandard
        End With
    Next i
Else
    MsgBox "Cek lagi Nomor yang akan dicetak...!!!!", vbCritical, "Cetak Halaman"
End If
End Sub

Berikut adalah penjelasan dari kode VBA Rectangle4_Click yang Anda berikan:


1. Fungsi Utama

Subroutine ini dijalankan ketika tombol Rectangle4 (tombol pada lembar kerja) diklik. Fungsinya adalah mencetak laporan (lembar kerja CetakRapot) menjadi file PDF untuk sejumlah data tertentu, dengan rentang nomor yang ditentukan oleh pengguna.


2. Deklarasi Variabel

Dim awal, Akhir As Integer
Dim filePath As String
  • awal dan Akhir: Variabel untuk menyimpan nomor awal dan akhir data yang akan dicetak (dideklarasikan sebagai tipe Integer).
  • filePath: Variabel untuk menyimpan path (lokasi) file PDF yang akan dibuat.

3. Mendapatkan Rentang Data

awal = Range("S3").Value
Akhir = Range("S5").Value
  • Range("S3"): Sel tempat pengguna memasukkan nomor awal data yang ingin dicetak.
  • Range("S5"): Sel tempat pengguna memasukkan nomor akhir data yang ingin dicetak.

4. Validasi Rentang Data

If awal <= Akhir And awal >= 1 Then

Kode ini memastikan bahwa:

  • awal lebih kecil atau sama dengan Akhir.
  • awal harus lebih besar atau sama dengan 1.

Jika kondisi ini tidak terpenuhi, maka:

MsgBox "Cek lagi Nomor yang akan dicetak...!!!!", vbCritical, "Cetak Halaman"

Pesan peringatan akan ditampilkan, dan proses cetak tidak akan dilanjutkan.


5. Perulangan Untuk Mencetak Data

For i = awal To Akhir
    With Sheets("CetakRapot")
        .Range("N4").Value = i
        filePath = "D:\00 Asisten Kurikulum\03 STS\Rapot Kelas XII 2324 Ganjil 2024\FIX\Rapot 12 TP 1\" & .Range("N12").Value & ".pdf"
        .ExportAsFixedFormat Type:=xlTypePDF, Filename:=filePath, Quality:=xlQualityStandard
    End With
Next i

Penjelasan:

  1. Perulangan For i = awal To Akhir:

    • Perulangan dilakukan dari nomor awal hingga nomor akhir.
  2. Sheets("CetakRapot"):

    • Lembar kerja CetakRapot digunakan untuk mencetak setiap data.
  3. Range("N4").Value = i:

    • Nomor data yang sedang dicetak (variabel i) dimasukkan ke dalam sel N4 pada lembar kerja CetakRapot. Hal ini mungkin digunakan untuk mengisi data dinamis di laporan berdasarkan nomor.
  4. filePath:

    • Lokasi dan nama file PDF ditentukan dengan mengambil nama file dari Range("N12"). Misalnya:
      "D:\00 Asisten Kurikulum\...\Rapot 12 TP 1\[NamaSiswa].pdf"
      
  5. ExportAsFixedFormat:

    • Lembar kerja diekspor ke file PDF dengan kualitas standar (xlQualityStandard) menggunakan nama file di lokasi yang ditentukan.

6. Penanganan Layar

Application.ScreenUpdating = False
  • Digunakan untuk mempercepat proses dengan menonaktifkan pembaruan layar sementara perulangan dijalankan.

7. Jika Validasi Gagal

Jika rentang nomor tidak valid:

MsgBox "Cek lagi Nomor yang akan dicetak...!!!!", vbCritical, "Cetak Halaman"

Pesan peringatan akan ditampilkan.


8. Output

  • Program ini mencetak file PDF untuk setiap nomor dalam rentang awal hingga Akhir.
  • Nama file dan data laporan diambil dari lembar kerja CetakRapot.

Contoh Kasus

Misalkan:

  • Range("S3") = 1, Range("S5") = 3.
  • Range("N12") berisi nama siswa, misalnya "AhmadRifai", "BudiSantoso", dll.

Output:

  • File PDF:
    • D:\00 Asisten Kurikulum\...\AhmadRifai.pdf
    • D:\00 Asisten Kurikulum\...\BudiSantoso.pdf


Posting Komentar untuk "CETAK MASAL DENGAN KELUARAN PDF DARI EXCEL"