Kamis, 29 November 2012

Mailmerge di excel Untuk SPT Kolektif

Berawal dari atasan saya yang menanyakan bagaimana membuat SPT Tahunan PPh 1770SS massal/kolektif secara cepat dari suatu daftar pegawai yang tersedia, saya akhirnya membuat posting dengan judul di atas. Kita secara umum mengenal fitur Mailmerge disediakan oleh Microsoft Word untuk membuat surat dalam jumlah banyak dengan template yang sama, tetapi ada beberapa field yang berbeda, misalnya nama, alamat, waktu, dan lain sebagainya.

Untuk membuat SPT 1770SS saya langsung berfikir fasilitas mailmerge ini. Tetapi tunggu,, ternyata template yang tersedia untuk SPT tersebut adalah file pdf dan excel, padahal untuk membuat mailmerge harus ada file Ms Word dan format isian juga ada kotak-kotak yang sulit diisi jika menggunakan Ms Word. Memindahkan format SPT dari pdf/excel ke Ms Word juga menimbulkan masalah sendiri yang saya pikir sulit dipecahkan.

Saya berfikir dan yakin ada cara tertentu dengan menggunakan file pdf/excel untuk apa yang saya tuju. Karena saya lebih menguasai file excel daripada file pdf untuk dimanipulasi, akhirnya saya browsing dan menemukan artikel yang saya cari di website-nya pakar dan penulis buku tentang excel, John Walkenbach, untuk membacanya silakan baca di sini –> Mailmerge tanpa Ms Word

Contoh file excel (original), download di sini –> mailmerge.xls

Dari aplikasi excel yang disusun John Walkenbach tersebut saya terapkan untuk membuat SPT 1770SS secara massal. Hasilnya berupa file excel yang bisa di download di sini –> mailmerge_1770ss 

Screenshot seperti gambar berikut:

 image5

Ada dua sheet di file tersebut:

  • Sheet Form –> tampilan SPT 1770SS, silakan isi tahun pajak, misalnya 2011, dan isi tanggal SPT.
  • Sheet Data –> berupa data pegawai yang melaporkan SPT, saya bikin empat kolom (A,B,C, dan D) masing-masing untuk field Nama, NPWP, Harta, dan Kewajiban.

Selanjutnya cara menggunakannya:

  • Untuk melihat dan mengedit data –> klik menu View or Edit Data
  • Untuk melihat preview sebelum mencetak –> klik checkbox Preview, don’t print
  • Sebelum mencetak jangan lupa tentukan record mana yang akan dicetak dan lihat tampilan SPT.
  • Untuk mencetak, silakan klik menu –> Print the Form

Jika anda ingin belajar cara kerja dari aplikasi ini, hal-hal yang perlu dipelajari:

  1. Formula (INDIRECT, LEFT, MID, COUNTA)
  2. Name Box, Defined Names
  3. Form Controls (button, checkbox, dsb.)
  4. Macro dan VBA (untuk melihat kode silakan tekan Alt+F11)

Kode Macro yang utama untuk mencetak mailmerge tersebut sebagai berikut:

Public Const APPNAME As String = "Elephants R Us"
Option Explicit

Sub PrintForms()
Dim StartRow As Integer
Dim EndRow As Integer
Dim Msg As String
Dim i As Integer

Sheets("Form").Activate
StartRow = Range("StartRow")
EndRow = Range("EndRow")

If StartRow > EndRow Then
Msg = "ERROR" & vbCrLf & "The starting row must be less than the ending row!"
MsgBox Msg, vbCritical, APPNAME
End If

For i = StartRow To EndRow
Range("RowIndex") = i
If Range("Preview") Then
ActiveSheet.PrintPreview
Else
ActiveSheet.PrintOut
End If
Next i
End Sub

    Terimakasih. Semoga bermanfaat.

4 komentar:

  1. Bisakah diberikan tutorial yang lebih detailnya....

    BalasHapus
  2. Makasih atas infonya mas, sangat membantu sekali..

    BalasHapus
  3. langsung aplikasinya ja kl boleh kirim ke psr910y@gmail.com
    tq

    BalasHapus