Membuat Cetak (Print) otomatis pada MS Excel
Pernahkan kita menggunakan fasilitas atau rumus Vlookup pada MS Excel? Vlookup bisa dimodifikasi untuk digunakan seperti pengunaan mail merge pada MS Word. Jadi, data yang tadinya berupa tabel bisa kita ubah menjadi surat atau dokumen yang ditujukan untuk orang banyak semisal surat undangan, raport sekolah atau lainnya.
Masalah yang akan muncul pada penggunaan pada MS Excel ini adalah saat kita akan mencetak dokumen-dokumen tersebut secara simultan. Jika kita mnggunakan mail merge pada MS Word kita bisa langsung mencetak banyak dokumen sekaligus, sementara pada MS Excel itu tidak bisa secara langsung. Terus bagaimana solusinya? Apakah kita harus mencetak satu per satu? Ngga terbayangkan jika kita akan mencetak ratusan dokumen yang berbeda, maka harus mencet tombol Print ratusan kali.
Tapi tenang!!! Ada solusi jitu sehingga masalah itu bisa diatasi. Kita harus sedikit bermain dengan menggunakan "Macro" yang memang sudah disediakan oleh MS Excel. Trus bagaimana caranya? Simak penjelasan berikut!
- Ambil contoh misalnya kita akan mencetak dokumen berikut. Ini contoh form untuk pengumuman kelulusan anak SMP. Data dan nilai yang ada pada form ini diambil dengan menggunakan vlookup dari sheet yang pertama.
- Langkah awal kita harus menentukan area print dengan menggunakan mode "Page break Preview" yang ada pada bagian kanan bawah MS Excel. Menambahkan sebuah tombol "CETAK", kemudian menambahkan tabel untuk "Mulai Nomor" dan "Sampai nomor" atau bisa juga dimodifikasi dengan istilah lain. Bisa juga ditambahkan Scrolbar untuk melihat dokumen per orang atau per anak. Bisa dilihat gambar di bawah
- Setelah semua bagian tadi kita tambahkan, kita bisa mulai untuk menambahkan kode "Macro" pada dokumen yang kita buat. Pertama klik tombol "View" kemudian cari tombol macro disebelah kanan. Klik tanda panah ke bawah kemudian klik "View Macros".
- Akan muncul jendela Macro. Pada "Macro name" kita ketik dengan "cetakraport" (boleh gunakan nama lain). Kemudian klik tombol "Create" pada jendela tersebut.
- Berikutnya akan masuk pada jendela Visual Basic seperti gambar berikut.
- Pada jendela yang kosong tersebut pastekan kode visual basic berikut, Jangan lupa disimpan juga. Kode yang berwarna merah harus disesuaikan dengan letak sel dan nama sheet.
- Setelah kode disimpan kemudian bisa tutup jendela tersebut untuk masuk ke jendela pekerjaan tadi. Pada tombol "CETAK" yang sudah kita buat tadi, klik kanan kemudian pilih "Asign Macro".
- Akan muncul jendela "Assign Macro" seperti gambar berikut. Pada bagian "Macro name" tinggal pilih nama macro yang sudah kita buat sebelumnya. Terakhir tinggal klik OK.
- Sampai di sini proses sudah selesai, dan bisa untuk tes tombol "CETAK" dengan sebelumnya mengisi cetak cari halaman berapa sampai berapa.
Dim Awal, Akhir As Integer
Awal = Range("k12").Value
Akhir = Range("k13").Value
If Awal <= Akhir And Awal >= 1 Then
Application.ScreenUpdating = False
For i = Awal To Akhir
With Sheets("FORM SKHU 4 UTK PENGUMUMAN")
.Range("k16").Value = i
.PrintOut
End With
Next i
Else
MsgBox "Mohon ceck lagi Nomor yang akan dicetak...!!!!", vbCritical, "Error Cetak"
End If
End Sub
Semoga bermanfaat. Jika ada pertanyaan silahkan corat-coret pada komentar.
Bagaimana jika 1 halaman cetak terdiri dari 4 nomor urut siswa (misal nomor urut 1 sampai 4), secara otomatis pada halaman selanjutnya yg akan dicetak adalah nomor urut 5 sampai 8. Jumlah siswa total adalah 100 siswa. Bagaimana penulisan pada perintah macro nya untuk memberi interval nya agar bisa dicetak keseluruhan secara otomatis? Mohon solusinya dari admin. Terimakasih
ReplyDeleteCaranya kurang lebih sama tinggal pengaturan awal akhirnya
ReplyDeletecara otomatis kasih nama filenya ke cell D10 gmn ya?
ReplyDeleteDengan menggunakan fungsi vlookup
ReplyDelete