Mail Merge di Microsoft Excel 2007

Untuk kepraktisan Anda mengakses informasi ini, saya telah menyiapkan versi PDF dari tulisan ini. Anda bisa menempatkannya di PC, Laptop, PDA ataupun Smartphone Anda.

Download versi PDF di sini

 

Fasilitas mail merge sudah kita kenal pada Microsoft Words. Fasilitas ini memungkinkan kita untuk mencetak sekumpulan dokumen yang memiliki format yang sama, dengan data yang berbeda-beda. Contoh penggunaan mail merge yang sering kita temui adalah ketika kita mencetak amplop dengan tujuan yang berbeda-beda. Biasanya, format dokumen mail merge diletakkan di sebuah file Words, dan data-datanya diambil dari file Microsoft Excel.

Namun, terkadang kita memerlukan fasilitas mail merge ini pada Microsoft Excel. Saya dan rekan-rekan di kantor telah lama mendambakan keberadaan fasilitas ini di Microsoft Excel. Di kantor saya, banyak pekerjaan yang dikerjakan menggunakan Excel. Bahkan Excel sudah menjadi aplikasi andalan untuk segala kondisi. Pernahkah Anda menemui sebuah aplikasi penilaian proyek sebesar 300 triliun menggunakan Excel? Hehehe.. di kantor saya, ada yang demikian itu. (Padahal di kantor-kantor swasta untuk menangani proyek di atas 5 M saja sudah menggunakan aplikasi taylor-made senilai puluhan sampai ratusan juta).

Dengan bantuan VLOOKUP, Spin Button dan sebaris script VBA kita sudah dapat membuat mail merge di Microsoft Excel 2007.

Kita mulai dengan membuat satu file Excel yang terdiri dari dua sheet. Sheet pertama untuk format dokumen, serta sheet kedua sebagai penampung data. Untuk memudahkan penjelasan selanjutnya, kita namai sheet yang digunakan sebagai format dokumen dengan nama Tampilan, dan sheet tempat data diletakkan dengan nama Database.

Ada syarat penting yang harus tersedia pada sheet Database, yaitu kolom terkiri (kolom A) harus berisi id unik atau primary key. Pokoknya, isi aja kolom A dengan angka 1, 2, 3, dst sampai dengan baris data yang terakhir. Tidak boleh ada angka yang sama.

Setelah itu, di sheet Tampilan sediakan sebuah cell di luar Print Area yang akan digunakan sebagai Reference. Misalnya, print area pada sheet Tampilan yang saya miliki adalah dari kolom A sampai G. Maka saya jadikan cell H1 sebagai cell referensi. Dengan demikian, cell ini tidak akan ikut tercetak di kertas. Cell ini berfungsi sebagai referensi ke kolom Primary Key yang kita telah buat pada sheet Database. Isi cell ini berupa angka satu sampai dengan angka terakhir yang ada pada kolom A sheet Database.

Pada sheet Tampilan, munculkanlah data dari sheet Database menggunakan fungsi VLOOKUP. Gunakan angka pada cell Referensi sebagai trigger VLOOKUP. Misalnya, pada cell yang menampilkan data dari kolom ke 10 sheet Database, formulanya akan berbunyi: =VLOOKUP($H$1;Database!$A$1:$AC$520;10;FALSE). Jika Anda masih belum paham fungsi VLOOKUP, banyak tutorial yang bisa Anda pelajari.

Sampai di sini kita akan masuk pada kunci terpenting pembuatan mail merge pada Excel. Kita akan membuat supaya cell Referensi di sheet Tampilan bisa bekerja os-tos-mas-tis seperti pada fasilitas mail merge yang tersedia di Microsoft Words. Caranya, dengan memanfaatkan Spin Button sebagai pemicu bergeraknya cell Referensi, serta jika Anda mau kita bisa menambahkan sebaris skrip VBA untuk mengotomatisasi pencetakan.

Untuk mewujudkan hal ini, kita munculkan dulu Control Toolbox dan Design Mode. Bagi yang sudah tahu caranya, silahkan lanjut ke alinea berikutnya. Bagi yang belum tahu, lakukan langkah berikut. Pada menu Excel 2007, yang masih juga membingungkan saya itu, klik pada drop down menu di sebelah kanan ribbon. Klik pada More Commands, sehingga muncul jendela Excel Options. Klik pada tab Customize di menu sebelah kiri jendela tersebut. Kemudian pada jendela Customize the Quick Access Toolbar yang muncul, pada Choose commands from pilih All commands. Carilah Insert Control dan Design Mode, lalu klik tombol Add. Pastikan Insert Control dan Design Mode telah muncul di jendela sebelah kanan. Lalu klik OK.

Setelah Control Toolbox dapat dimunculkan, buatlah sebuah tombol Spin Button di sheet Tampilan. Klik pada Control Toolbox dan pilih button yang memiliki dua tanda panah berlawanan arah. Tombol itu jika kita hovering di Toolbox akan memunculkan nama Spin Button. Tempatkan di area yang nyaman bagi Anda. Saya menempatkan Spin Button di sebelah cell Referensi (H1).

Setelah itu, klik kanan pada Spin Button, pilih Properties. Pada jendela Properties yang muncul, ada tiga properties yang harus disesuaikan, yaitu LinkedCell, Min dan Max. Cari property LinkedCell dan isikan dengan alamat cell Referensi, dalam file yang saya buat alamatnya di H1. Kemudian, isi property Min dengan 1 dan property Max dengan angka terakhir di kolom A sheet Database. Setelah itu, tutup jendela Properties.

Langkah terakhir adalah menonaktifkan Design Mode, agar Spin Button yang baru saja kita oprek dapat digunakan. Klik pada icon Design Mode di sebelah kanan ribbon. Setelah Design Mode pada posisi off, cobalah mengklik Spin Button dan perhatikan efeknya pada cell Referensi. Angka pada cell tersebut dapat bergerak maju mundur sesuai klik yang kita lakukan pada SpinButton. Jika cell-cell pada sheet Tampilan sudah kita sematkan fungsi VLOOKUP, maka cell-cell tersebut juga akan berubah sesuai klik pada Spin Button. Selain melakukan klik pada SpinButton, kita juga bisa mengubah secara manual isi cell Referensi. Kita bisa memasukkan langsung angka berapa pun pada cell ini.

Sampai di sini mail merge pada Excel 2007 sudah bisa digunakan seperti pada Microsoft Words. Tapi jika Anda adalah seorang pemalas seperti saya, kita bisa meningkatkan mail merge excel ini agar kerjaan dapat diselesaikan lebih efisien. Cukup dengan satu klik, ganti field merge dan pencetakan bisa dilakukan bersamaan. Caranya sbb.

Kita aktifkan dulu Design Mode dengan mengklik tombol Design Mode, agar kita bisa mengedit Spin Button. Kemudian, klik ganda pada Spin Button sampai muncul jendela VBA. Tambahkan skrip
ActiveSheet.PrintOut di tengah dua skrip yang sudah ada. Sehingga skrip selengkapnya menjadi:

Private Sub SpinButton1_Change()
ActiveSheet.PrintOut
End Sub

Tutup jendela VBA dengan File | Close and Return to Microsoft Excel (Alt Q). Lalu non-aktifkan lagi
Design Mode. Nah, setelah langkah ini dilakukan, setiap kali kita mengklik Spin Button, kita akan langsung berpindah field merge sekaligus melakukan pencetakan. Dengan cara ini, tugas saya mencetak dokumen untuk dikirim kepada 510 pemerintah daerah se-Indonesia setiap bulan itu bisa dilakukan dengan jauh lebih mudah.

Ketika membuka kembali file mail merge ini, jangan lupa untuk meng-enable macro. Karena jika tidak di-enable, maka macro secara default akan dinonaktifkan sehingga tombol Spin Button tidak dapat digunakan. Caranya dengan meng-klik pada jendela Security Warning yang muncul, kemudian klik pada Enable.

Untuk mempermudah memahami tutorial ini, Anda dapat mengunduh contoh file mail merge Excel yang saya gunakan.

Saya dedikasikan tulisan ini untuk rekan-rekan kerja di Subdit Pelaksanaan Transfer II, dan seluruh rekan-rekan DJPK. Terimakasih juga pada milis xl-mania. Semoga tulisan ini bermanfaat. Selamat mencoba!

Update!
Saya menambahkan CheckBox untuk mengendalikan pencetakan. Jika CheckBox di-check, maka ketika kita menekan tombol SpinButton, maka pencetakan akan berjalan otomatis. Data yang tampil akan berpindah dari nomor referensi sebelumnya, plus data yang baru akan langsung dicetak.

Jika CheckBox tidak di-check, maka ketika kita menekan tombol SpinButton, perpindahan tampilan data tidak diikuti dengan pencetakan otomatis.

Skrip VBA yang digunakan menjadi:
Private Sub SpinButton1_Change()
If CheckBox1.Value = True Then ActiveSheet.PrintOut
End Sub

56 Thoughts on “Mail Merge di Microsoft Excel 2007

  1. hendrahs on May 22, 2009 at 13:50 said:

    bro
    bisa minta filenya ngga…
    mandeg di tengah2 niy
    puyeng
    hehehe….
    makasi sebelumnya…

  2. nurhadi on May 29, 2009 at 12:00 said:

    thanks… & thanks…

  3. mahfud-kudus on June 3, 2009 at 22:11 said:

    mohon penjelasan langkah 2 pemanfaatan Spin Button sebagai pemicu bergeraknya cell Referensi, serta menambahan skrip VBA untuk otomatisasi pencetakan pd excel 2003 krn sy masih gagap yg 2007, trims sebelumnya

  4. @hendahs:
    Bro, file contohnya bisa di donlot di http://rapidshare.com/files/221474281/contoh_mail_merge_excel.xls.html

    @mahfud-kudus
    Penjelasan tentang Spin Button ada di http://tech.groups.yahoo.com/group/XL-mania/files/Lessons/
    Judulnya: spin_button.zip
    Penerapan spin-button [contributed by : Fauzan]

  5. [...]http://rapidshare.com/files/221474281/contoh_mail_merge_excel.xls.html[...] saya coba ga bisa download Mas….ada Link lain ga?? atau bisa kirim ke email saya…Terima kasih, Sangat Bermanfaat

  6. Pingback: bupecumolox

  7. mas, saya gak bisa download di rapidshare, tolong kirim ke email ya…trim’s.

  8. Pingback: ekimazir

  9. I think there are certain times when you can trust someone with everything you know

  10. yudha on October 20, 2009 at 16:19 said:

    mas.., saya boleh minta source excelnya yaa
    file di-rapidsharenya sudah ngga bisa didownload.

    mohon dikirimkan contoh sourcenya ke email saya ya mas…

    Thanks alot…

  11. bisa download di smpn5.pbl.sch.id (download area2)

  12. Moezzt on December 13, 2009 at 06:55 said:

    MANTAP!!!
    Sangat membantu kerjaan saya nih…thax bro…

  13. Very often people want to find just some topic just about order essays. And we would recommend to take the help of the custom essay service. In fact, that’s possible to take some sentences from this post theme.

  14. permisi mas, mas, saya bisa minta contoh filenya ?
    ada link lain mas? krn yang di rapidshare tidak bisa di donlod,
    terima kasih banyak mas, terima kasih, terima kasih,,

  15. Mine on March 2, 2010 at 08:11 said:

    =VLOOKUP($H$1;Database!$A$1:$AC$520;10;FALSE)

    saya bingung kok tiba2 muncul kolom AC…
    mohon dijelaskan mas…. :D

  16. @Mine:

    fungsi itu kan artinya, tolong ambilkan nilai yang ada di kolom nomor 10 di sheet Database range A1 s.d. AC520, yang kolom pertamanya nilainya = H1

    jadi memang yang efisien fungsinya cukup sampe ke kolom 10 saja (kolom J).

    Mudah2an jelas.

  17. @dwi: mas dwi, saya juga kehilangan file contoh artikel ini. tapi Anda bisa menggunakan contoh file yang disediakan oediek di http://smpn5-pbl.sch.id/index.php?option=com_remository&Itemid=12&func=startdown&id=6

    efek mail merge nya akan terlihat di Sheet “Kartu Soal (A)”. Kita bisa mengganti isi cell dengan menekan Spin Button yang tersedia (tanda segitiga arah ke kanan dan kiri).

  18. wawan on March 2, 2010 at 21:37 said:

    kang, knapa tombol cetak from to hanya print halaman 1 aja ya?
    Private Sub CommandButton1_Click()
    If dari = "" Then dari = 1
    If ke = "" Then ke = 1
    For Page = dari To ke

    Range("L4").Select
    ActiveCell.Value = Page

    ActiveSheet.PrintOut from:=1, To:=1, _
    Copies:=1, Collate:=True

    Next

    End Sub

    ato ada yg terlewat oleh saya?

  19. wawan on March 2, 2010 at 22:26 said:

    udah ketemu permasalahannya, properties dari textboxnya blum sy ganti namanya jadi “dari” dan “ke”,
    …..makasih……

    • Rusdin on November 9, 2012 at 12:32 said:

      Dear mas wawan
      Apakah skrip ini gunanya untuk pencetakan dari hal yg di inginkan sd hal …
      Apakah harus buat text box juga?
      Mhn petunjuk nya mas

      Thanks

  20. wah tengkyu mas wawan!
    tambahan ilmu buat saya juga.

  21. Pingback: Fungsi Mail Merge Pada Microsoft Excel | PalComTech Student Portal

  22. Mantap sekali pak tutorialnya.
    untuk lembar yang ditampilkan per data memang sudah OK, tetapi yang jadi masalah bagaimana bila yang ditampilkan dalam 1 lembar itu banyak data misalnya untuk mencetak label undangan yang biasanya jumlahnya ada 12?

    kalau saya pakai rumus makro diatas yang keluar pada lembar pertama data no 1, yang keluar pada lembar kedua data no 2, yang keluar pada lembar ketiga data no ke 3. padahal jika 1 lembar itu datanya ada 12 seharusnya lembar ke 1 tercetak data no 1 sampai no 12 dan lembar ke 2 tercetak data no 13 sampai no 24 dst.
    Mohon bantuannya mas untuk list makro-nya. Udah saya otak-atik belum ketemu. maklum pengetahuan vba-nya cethek sekali.

    • Bisa pak. Ada dua cara. Cara pertama, tetap gunakan file di tutorial ini, hanya saja di Sheet Data cara menempatkan data ke-2 sampai ke-12 adalah di baris 1 semua. Jadi di baris 1, ada kolom berisi data ke-1 sampe ke-12.

      Cara kedua, Sheet Data tetep susun ke bawah 1, 2, 3, dst. Tapi skrip VBA dimodif. Nah untuk cara yang ini, tunggu tulisan saya berikutnya ya pak.

      • terima kasih, untuk cara pertama berarti sama prinsipnya kayak mailmerge di word. kadang data yang kita punya sudah berderet ke bawah :).
        saya tunggu cara yang kedua ya. terima kasih.

  23. Pingback: Homepage

  24. RIDLO on March 1, 2012 at 03:28 said:

    GIMANA BIAR BISA NGEPRINT 1 – 10 YANG CONTOH Q COBAK PRINT SUMA BISA 1

  25. m. zakaria on March 21, 2012 at 07:11 said:

    mas saya mau tanya jika spin button itu ketika diklik sekali akan bertambah otomatis dengan diikuti print out otomatis itu gmana caranya ya mas ?
    mohon pencerahannya
    terima kasih

  26. utie on March 21, 2012 at 10:41 said:

    Mas, klo untuk menampilkan data lebih banyak gimana ya caranya?
    contoh untuk menampilkan data absensi karaywan dalam 1bulan.

    Mohon pencerahannya.

    thanks,

  27. rusdin on November 9, 2012 at 08:18 said:

    Sebelumnya saya mengucapkan terima kasi kepada admin yg yg telah memposting tools ini
    sangat membantu sekali

    yang saya ingin tanyakan, bagaimana kalau kita ingin memperbesar kotak check box,
    karena cuma fontnya saja yang bisa di perbesar, tapi kotak nya tidak bisa

    mohon petunjuknya
    terima kasih

  28. ahmad sholeh on January 12, 2013 at 16:53 said:

    mas mau tanya bagaiamana membuat mail merge print data 1 sampai data 10 jadi ketika ngeprint bisa sesuai selera tidak harus satu selesai klik lagi …

    • Pake code yang ada di akhir artikel ini mas:

      Private Sub SpinButton1_Change()
      If CheckBox1.Value = True Then ActiveSheet.PrintOut
      End Sub

      atau kalau gak mau pake CheckBox “Langsung Cetak”, kodenya:

      Private Sub SpinButton1_Change()
      ActiveSheet.PrintOut
      End Sub

      Dgn kode itu, tiap kita pencet tanda panah ganti halaman di Spin Button, akan langsung mencetak.

  29. arief on January 21, 2013 at 05:40 said:

    saya masih bingung bgm cara menggabungkan checkbox dengan spinbutton pada penulisan VBA nya, mohon penjelasan langkah-langkahnya

    • Checkbox di tutorial ini, saya gunakan untuk mengotomatisasi pencetakan. Checkbox saya beri Label “Langsung Cetak”, tetapi nama checkbox-nya sendiri masih tetap CheckBox1. Ketika value di spinbutton berubah, maka subrutin “Private Sub SpinButton1_Change()” akan dijalankan. Isinya, jika CheckBox1 di-cek (bernilai 1), maka sheet yg aktif akan dicetak, muncul kotak dialog pencetakan. Jika CheckBox tidak di-centang (bernilai 0), maka perubahan hanya muncul di layar, kalau mau cetak harus pencet Ctrl-P lagi.

      Apakah itu yang dimaksud mas?

      • arief on January 21, 2013 at 07:51 said:

        sudah saya coba, tetapi keluar Dialog Box Compile error : Expected Fuction or variable.
        Mohon diberikan langkah2 dalam pembuatan checkbox…..
        terima kasih

  30. aku mudeng luar biasa. minta file nya donk om……. ya? makasih ya..

  31. novi on March 7, 2013 at 15:18 said:

    thank you….
    detail banget jadi gampang mempelajarinya… terimkasih banyak…

  32. Ngudikaweruh on March 23, 2013 at 03:23 said:

    Mas,, Saya coba pake kedo yang kedua
    Private Sub SpinButton1_Change()
    If CheckBox1.Value = True Then ActiveSheet.PrintOut
    End Sub,,
    Kenapa malah muncul ” run time error 424″ object required”
    Mohon bantuannya Mas.., Terimakasih,,, semoga mendapat balasan lebih baik

  33. Ngudikaweruh on March 23, 2013 at 03:37 said:

    Mas,, saya pake kode kedua ” Private Sub SpinButton1_Change()
    If CheckBox1.Value = True Then ActiveSheet.PrintOut
    End Sub”
    kenapa malah muncul ( run time error “424”),, mohon bantuannya mas,,
    semoga mendapat balasan yang lebih baik.

  34. Mas No on March 24, 2013 at 04:21 said:

    Mas… bisa dijelaskan jika kit aganti pilihan ngeprintnya…
    menjadi cetak dari no….. sampai no …… , kemudian klik print,,
    kode VBA bagaimana. terima kasih.

  35. iqbal on April 15, 2013 at 06:58 said:

    Salam kenal..

    terima kasih atas artikelnya, sangat membantu..
    kalo bisa ditambahkan tulisannya mengenai bagaimana membuat tombol cetak “dari data ….” “sampai data…”

  36. pras on July 25, 2013 at 05:28 said:

    Artikelnya sangat bermanfaat.

    Namun saya mau tanyakan apakah bisa kodenya dimodif agar langsung print beberapa sheet sekaligus.

    terimakasih.

    • Saya belum bisa print beberapa sheet sekaligus pak, karena fungsi print itu tugasnya mencetak sheet yang aktif (melalui kode DBA ActiveSheet.PrintOut). Jadi, skenario yg paling memungkinkan adalah satu sheet terdiri dari beberapa data. Mungkin begini.. kita set Print Areanya menjadi beberapa halaman. Satu halaman satu data. Ketika cetak Sheet aktif, kena semua.. ini baru ide pak. Mudah2an nanti saya bisa tuliskan tutorialnya..

  37. Mohon conto filenya. ke emai saya,pak.
    terutama tentang Print dari … sampai …
    Terimakasih.
    saya gunakan untuk Cetak Raport.

  38. noven on December 4, 2013 at 01:14 said:

    tks bro…

  39. Setelah 2 hari saya pusing membaca, cermati dan pelajari, akhirnya baru faham (maklum otodidak dan tidak ada basic di komputer). Terima kasih banyak mas, sangat membantu saya bikin laporan pajak. Peace

  40. andri on April 2, 2014 at 04:55 said:

    Makasih atas info blog nya mas, sangat membantu sekali…

  41. opin on April 24, 2014 at 03:33 said:

    thanks ilmunya bro, mantap dan sudah saya aplikasikan dalam pembuatan slip gaji.
    tinggal sekarang saya mau print slip gajinya, 1 halaman bisa muncul 4 slip gaji.
    itu caranya gimana bro? thanks

  42. Hallo…

    Gan boleh dong file masternya dikirim ke email.”sdnperiuk5@ymail.com”

    Thanks

  43. Anton on July 7, 2014 at 09:57 said:

    Pak,. Minta tolong dunk dikirimkan file masternya,.blank sekali… tolong dikirimkan ke email saya ya… anton.the4@yahoo.com.sg ….Terima kasih banyak sebelumnya,…

  44. pak udin on August 23, 2014 at 07:02 said:

    mohon dikirim file masternya ke jausyankabir@gmail.com. Terima kasih sebelumnya

  45. ternyata mudah ya cetak merge di word
    nice share, makasih …

  46. atoel on October 17, 2014 at 12:52 said:

    Gan bisa dikirim filenya ke alopohu@gmail.com

    Hatur nuhun…makasih banget

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

 

Post Navigation