Anda di halaman 1dari 93

KATA PENGANTAR

Puji syukur kami panjatkan kepada Tuhan Yang Maha Esa atas
terselesaikannya penulisan e-book “Panduan Pembuatan Aplikasi
dengan Menggunakan Microsoft Excel VBA (Macro)” ini dengan baik.
Buku ini khusus dibuat untuk memberikan tuntunan kepada
pembaca khususnya mahasiswa dalam membuat Aplikasi Akuntansi
dengan menggunakan Microsoft Excel. E-book ini dilengkapi dengan
langkah demi langkah cara membuat aplikasi dari mulai
mempersiapkan lembar kerja yang digunakan, membuat formula dan
kode program, sampai mendapatkan hasil akhir berupa laporan
keuangan, sehingga memudahkan pembaca dalam mempelajari buku
ini.
Penulis mengucapkan terima kasih kepada Bapak Dr. Wahyu
Maulid Adha, S.E., M.M selaku Mentor dan Ibu Nurbayani, SKM., S.E.,
M.Kes selaku Coach pada Pelatihan Dasar CPNS yang senantiasa
memberikan kepedulian yang besar dan memberikan banyak
motivasi dalam penyelasaian buku ini.
Harapan penulis semoga e-book ini dapat bermanfaat bagi para
pembaca khususnya mahasiswa dan menambah wawasan dan
pengetahuan dibidang komputer yang berkembang begitu cepat .

Muhammad Ihsan Ansari, S.E., M.Ak., CGRM


Telp: 085241331663
Email:ihsan@Unsulbar.ac.id
Daftar Isi
BAB 1
Mengenal Macro 01

Mengaktifkan Macro 01

Menampilkan Tab Developer 03

BAB II
Membuat Userform Info Perusahaan 06

Membuat Chart Of Account (COA) 10

Membuat Jurnal Umum 20

Membuat Buku Besar 36

Membuat Jurnal Penyesuaian 48

Membuat Neraca Lajur 62

Membuat Laporan Laba Rugi 65

Membuat Laporan Perubahan Modal 70

Membuat Neraca 72

Membuat Sheet Menu 76

Menyimpan File Aplikasi 89


Penduan Pembuatan Muh. Ihsan
Aplikasi Akuntansi dengan MS. Excel
VBA (Macro)

Bab 1

Mengenal
Macro Excel
Mengenal Macro Excel
MENGENAL
MACRO EXCEL
Microsoft menyediakan Visual Basic for Applications (VBA) untuk pemrograman
tingkat lanjut pada aplikasi Microsoft office. Visual Basic Applications dapat membuat
otomatisasi pekerjaan di Microsoft Office.
Pada aplikasi Microsoft Excel, penggunaan Visual Basic Aplication dapat melalui
jendela Visual Basic Editor yang dikenal dengan penggunaan bahasa macronya. Macro
merupakan sekumpulan perintah-perintah dan fungsi yang tersimpan dalam modul
Microsoft Visual Basic Editor dan dapat dijalankan kapan pun diperlukan untuk
menyelesaikan tugas.
Untuk pembuatan Macro dalam microsoft Excel dapat dilakukan dengan cara
sebagai berikut:
Perekaman
Perintah-perintah yang dikerjakan pada Microsoft Excel dapat anda rekam dengan
proses perekaman macro.
Melalui Visual Basic Editor
Visual Basic Editor adalah program yang digunakan untuk membuat dan mengedit
kode macro dengan menggunakan bahasa Visual Basic yang mudah.

MENGAKTIFKAN
MACRO
Sebelum bekerja dengan macro, maka macro yang ada pada MS. Excel harus
diaktifkan terlebih dahulu dengan cara sebagai berikut:
Klik tab file dan kemudian klik tombol Options. Sehingga akan tampil kotal dialog
Excel Options

02 HALAMAN
Mengenal Macro Excel
Pada bagian sebelah kiri, klik pilihan Trust Center dan klik tombol Trust Center
Settings, sehingga akan tampil kotak dialog Trust Center.
Selanjutnya pada bagian sebelah kiri, klik pilihan Macro Setting. Pada bagian Macro
Settings klik pilihan Enable all macros (not recommended; potentially dangerous
code can run) dan pada bagian developer Macro Settings aktifkan Trust acces to the
VBA project object model.

Klik tombol OK pada kotak dialog Trust Center, kemudian klik tombol OK lagi pada
kotak dialog Excel Options.

MENAMPILKAN
TAB DEVELOPER

Untuk membuat aplikasi akuntansi di Macro Excel, kita memerlukan fungsi tambahan
yang hanya tersedia di tab Developer. Secara default, tab Developer tidak muncul
dalam Ribbon. Untuk menampilkan tab Developer, dapat dilakukan dengan cara:
Klik menu File, dan klik tombol Excel Options sehingga akan tampil kotak dialog
Excel Options.
Pilih kategori Custom Ribbon dan pada bagian Top Options For Working With Excel,
pilih Show Developer tab in the Ribbon

03 HALAMAN
Mengenal Macro Excel
Klik tombol ok, sehingga tab Developer akan tampil seperti gambar berikut:

04 HALAMAN
Penduan Pembuatan Muh. Ihsan
Aplikasi Akuntansi dengan MS. Excel
VBA (Macro)

Bab 2

Membuat
Aplikasi akuntansi
Membuat Aplikasi Akuntansi
MEMBUAT
USERFORM INFO PERUSAHAAN
UserForm info Perusahaan digunakan untuk menginputkan nama perusahaan dan
periode dari data akuntansi yang dibuat. UserForm ini dibuat pada jendela Visual Basic
Editor yang merupakan program aplikasi pendukung dalam Microsoft excel. Langkah-
langkah menambah UserForm adalah sebagai berikut:
Aktifkan jendela Visual Basic dengan menekan tombol Visual Basic pada tab
Develover dalam group Code.
Klik Menu Insert – UserForm, sehingga akan tampil Jendela UserForm 1 disertai
dengan Toolbox seperti pada gambar dibawah.

Selanjutnya atur properties UserForm pada jendela properties dengan ketentuan


sebagai berikut:
Name : frm_info
Caption : Informasi Perusahaan
Tambahkan beberapa control pada UserForm dengan ketentuan sebagai berikut:
1. 2 (dua) buah Label, ganti masing-masing properti Caption dengan: Nama
Perusahaan dan Periode.
2. 2 (dua) buah TextBox, ganti masing-masing properti Name dengan: txt_name dan
tahun. Pada TextBox tahun, isi property Text dengan 2010.
3. 1 (Satu) buah Label, ganti property Caption menjadi s/d.
4. 2 (dua) ComboBox, ganti masing-masing property Name menjadi bulan1 dan
bulan2.
5. 1 (satu) SpinButton, ganti property Name menjadi sp_thn. Isi property Max dengan
nilai 2030 dan property Min dengan 2010.
6. 2 (dua) buah CommandButton, ganti masing-masing property Name dengan:
cmd_Tambah dan cmd_Kembali, Caption dengan Tambah dan Kembali, Accelerator
dengan huruf T dan K

06 HALAMAN
Membuat Aplikasi Akuntansi
Hasil penambahan dan pengaturan control dapat anda lihat pada gambar di
bawah.

Selanjutnya mengisi kode program pada kontrol-kontrol yang digunakan dalam


proses. Untuk mengisi kode program, klik dua kali pada control yang akan diisi kode
program:

*Isi tombol Kembali


Private Sub cmd_Kembali_Click()
frm_info.Hide
Sheets("MENU").Select
ActiveWorkbook.Protect
Sheets("COA").Protect
Sheets("JURNAL").Protect
Sheets("JURNAL PENYESUAIAN").Protect
Sheets("BUKU BESAR").Protect
Sheets("NERACA LAJUR").Protect
Sheets("RUGI LABA").Protect
Sheets("PERUBAHAN MODAL").Protect
Sheets("NERACA").Protect
End Sub

*Isi tombol tambah


Private Sub cmd_tambah_Click()
Sheets("COA").Range("a6").Value = txt_nama.Text
Sheets("Jurnal").Range("a6").Value = txt_nama.Text
Sheets("Jurnal Penyesuaian").Range("a6").Value = txt_nama.Text
Sheets("Neraca Lajur").Range("a6").Value = txt_nama.Text
Sheets("Rugi Laba").Range("a6").Value = txt_nama.Text

07 HALAMAN
Membuat Aplikasi Akuntansi
Sheets("Perubahan Modal").Range("a6").Value = txt_nama.Text
Sheets("Neraca").Range("a6").Value = txt_nama.Text
If bulan2.Text <> "" Then
Sheets("COA").Range("a8").Value = bulan1.Text & " s/d " & bulan2.Text & " " &
tahun.Text
Sheets("Jurnal").Range("a8").Value = bulan1.Text & " s/d " & bulan2.Text & " " &
tahun.Text
Sheets("Jurnal Penyesuaian").Range("a8").Value = bulan1.Text & " s/d " &
bulan2.Text & " " & tahun.Text
Sheets("Neraca Lajur").Range("a8").Value = bulan1.Text & " s/d " & bulan2.Text & " "
& tahun.Text
Sheets("Rugi Laba").Range("a8").Value = bulan1.Text & " s/d " & bulan2.Text & " " &
tahun.Text
Sheets("Perubahan Modal").Range("a8").Value = bulan1.Text & " s/d " & bulan2.Text
& " " & tahun.Text
Sheets("Neraca").Range("a8").Value = bulan1.Text & " s/d " & bulan2.Text & " " &
tahun.Text
Else
Sheets("COA").Range("a8").Value = bulan1.Text & " " & tahun.Text
Sheets("Jurnal").Range("a8").Value = bulan1.Text & " " & tahun.Text
Sheets("Jurnal Penyesuaian").Range("a8").Value = bulan1.Text & " " & tahun.Text
Sheets("Neraca Lajur").Range("a8").Value = bulan1.Text & " " & tahun.Text
Sheets("Rugi Laba").Range("a8").Value = bulan1.Text & " " & tahun.Text
Sheets("Perubahan Modal").Range("a8").Value = bulan1.Text & " " & tahun.Text
Sheets("Neraca").Range("a8").Value = bulan1.Text & " " & tahun.Text
End If
Sheets("COA").Range("a6:a8").Font.Name = "Arial"
Sheets("jurnal").Range("a6:a8").Font.Name = "Arial"
Sheets("Jurnal Penyesuaian").Range("a6:a8").Font.Name = "Arial"
Sheets("Neraca Lajur").Range("a6:a8").Font.Name = "Arial"
Sheets("Rugi Laba").Range("a6:a8").Font.Name = "Arial"
Sheets("Perubahan Modal").Range("a6:a8").Font.Name = "Arial"

08 HALAMAN
Membuat Aplikasi Akuntansi
Sheets("Neraca").Range("a6:a8").Font.Name = "Arial"
End Sub

*Isi spin button tahun


Private Sub sp_thn_Change()
tahun.Text = sp_thn.Value
End Sub

*Isi perintah pada saat userform aktif


Private Sub UserForm_Activate()
ActiveWorkbook.Unprotect
Sheets("COA").Unprotect
Sheets("JURNAL").Unprotect
Sheets("JURNAL PENYESUAIAN").Unprotect
Sheets("BUKU BESAR").Unprotect
Sheets("NERACA LAJUR").Unprotect
Sheets("RUGI LABA").Unprotect
Sheets("PERUBAHAN MODAL").Unprotect
Sheets("NERACA").Unprotect
End Sub

*Mengisi data pilihan pada combo box Bulan1 dan Bulan2


Private Sub UserForm_Initialize()
bulan1.AddItem "Jan"
bulan1.AddItem "Feb"
bulan1.AddItem "Mar"
bulan1.AddItem "Apr"
bulan1.AddItem "May"
bulan1.AddItem "Jun"
bulan1.AddItem "Jul"
bulan1.AddItem "Aug"
bulan1.AddItem "Sep"
bulan1.AddItem "Oct"
bulan1.AddItem "Nop"

08 HALAMAN
Membuat Aplikasi Akuntansi
bulan1.AddItem "Dec"
bulan2.AddItem "Jan"
bulan2.AddItem "Feb"
bulan2.AddItem "Mar"
bulan2.AddItem "Apr"
bulan2.AddItem "May"
bulan2.AddItem "Jun"
bulan2.AddItem "Jul"
bulan2.AddItem "Aug"
bulan2.AddItem "Sepr"
bulan2.AddItem "Octr"
bulan2.AddItem "Nop"
bulan2.AddItem "Dec"
End Sub

MEMBUAT
CHART OF ACCOUNT (COA)
COA (Chart Of Account) terdiri dari 2 (dua) bagian, yaitu bagian sheet dan userform.
Bagian sheet COA digunakan untuk menampung data dari kode, nama dan saldo awal
dari akun (perkiraan) yang akan digunakan dalam aplikasi. Sedangkan UserForm COA
digunakan sebagai media input data dari kode, nama dan saldo awal akun (perkiraan).

Mendesain Sheet COA


Bagian ini terdiri dari 2 (dua) table yaitu table yang menampung penginputan data
dan table yang menampung penginputan data dan table bantu yang digunakan sebagai
daftar pilihan pada bagian lain. Tabel yang pertama terdiri dari 4 kolom yaitu: Nomor
Perkiraan, Jenis Perkiran dan Saldo Awal dan 140 baris. Untuk jumlah baris fleksibel,
dapat ditambah sesuai dengan banyaknya akun yang digunakan aplikasi. Anda dapat
mangatur tampilan table pertama dengan memanfaatkan Feature Microsoft Excel,
Sedangkan table kedua terdiri dari 1 kolom, Nomor & Nama Perkiraan dan diisi mengambil
data pada table pertama dengan menggunakan rumus:
=A11& “ “ &B11

10 HALAMAN
Membuat Aplikasi Akuntansi

Setelah selesai membuat dan mendesain Sheet COA, sembunyikan sheet tersebut
dengan klik kanan pada nama sheet kemudian pilih perintah Hide, nilai default dari sheet
COA adalah tidak ditampilkan atau disembunyikan.

Menambah Tombol perintah Pada Sheet COA


Selain berisi table, pada sheet COA juga dilengkapi dengan beberapa tombol
perintah yang berfungsi untuk melengkapi dan mengatur tampilan table COA. Tombol-
tombol tersebut antara lain: Ke Menu, Preview dan Cetak. Untuk menambahkan tombol-
tombol tersebut dapat anda ikuti langkah-langkah berikut ini:
1. Pilih tab Developer, klik tombol Insert Control pada group Control dan klik
CommandButton (Activex Control) pada bagian ActiveX Control, kemudian klik pada
bagian sheet Jurnal Umum
2. Ulangi langkah tersebut sampai terbentuk 3 tombol perintah.
3. Atur masing-masing tombol perintah dengan cara klik kanan pada tombol perintah
dan pilih Properties, sehingga akan ditampilkan jendela Properties.
4. Ganti property Name masing-masing tombol perintah menjadi Menu, Preview dan
Cetak.
5. Ganti property Caption masing-masing tombol perintah dengan Ke Menu, Preview
dan Cetak.
6. Selanjutnya mengisi masing-masing tombol perintah dengan fungsi dari tombol
tersebut dengan cara klik dua kali pada masing-masing tombol.
7. Kemudian ketikkan kode-kode program berikut ini untuk masing-masing tombol yang
terdapat dalam sheet COA:

11 HALAMAN
Membuat Aplikasi Akuntansi
*Isi tombol Cetak
Private Sub cetak_Click()
Range("a6").Select
menu.Visible = False
preview.Visible = False
cetak.Visible = False
Range(ActiveCell, ActiveCell.End(xlDown)).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
ActiveSheet.PrintOut
Range("a1").Select
menu.Visible = True
Preview.Visible = True
cetak.Visible = True
ActiveSheet.PageSetup.PrintArea = Clear
End Sub

*Isi tombol Ke Menu


Private Sub menu_Click()
ActiveWorkbook.Unprotect
Sheets("Menu").Visible = True
Sheets("COA").Visible = False
Sheets("Jurnal").Visible = False
Sheets("Buku Besar").Visible = False
Sheets("Jurnal Penyesuaian").Visible = False
Sheets("Neraca Lajur").Visible = False
Sheets("Rugi Laba").Visible = False
Sheets("Perubahan Modal").Visible = False
Sheets("Neraca").Visible = False
ActiveWindow.DisplayWorkbookTabs = False
ActiveWorkbook.Protect Structure:=True, Windows:=False
End Sub

12 HALAMAN
Membuat Aplikasi Akuntansi

*Isi tombol preview


Private Sub preview_Click()
Range("a6").Select
menu.Visible = False
preview.Visible = False
cetak.Visible = False
Range(ActiveCell, ActiveCell.End(xlDown)).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
With ActiveSheet.PageSetup
.Orientation = xlPortrait
.PaperSize = xlPaperLegal
.CenterHorizontally = True
.CenterVertically = False
End With
Selection.PrintPreview
Range("a1").Select
menu.Visible = True
preview.Visible = True
cetak.Visible = True
ActiveSheet.PageSetup.PrintArea = Clear
End Sub

*Isi perintah pada saat worksheet aktif


Private Sub Worksheet_Activate()
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Range("A11").Select
End Sub

Mendesain UserForm COA


Langkah untuk menambah Userform COA adalah sebagai berikut:
Aktifkan jendela Visual Basic Editor dengan menekan tombol Visual Basic pada tab
Developer dalam group Code.
Klik menu Insert – UserForm, sehingga akan tampil jendela UserForm1 disertai dengan
toolbar Toolbox.

13 HALAMAN
Membuat Aplikasi Akuntansi
Selanjunya atur Properties UserForm pada jendela Properties dengan nama ketentuan
sebagai berikut:
Name : frm_COA
Caption : Chart Of Account
Tambahkan beberapa control pada UserForm dengan ketentuan sebagai berikut:
1. 5 (lima) buah Label, ganti masing-masing property Caption dengan: Jenis Akun, Kode
Akun, Nama Akun, Tipe Akun dan Saldo Awal.
2. 2 (dua) buah ComboBox, ganti masing-masing property Name dengan: jenis dan
nm_akun.
3. 3 (tiga) buah TextBox, ganti masing-masing property Name dengan: no_akun,
nm_akun dan saldo.
4. 1 (satu) buah Label, ganti Name dengan kode dan Caption dikosongkan
5. 2 (dua) buah CommandButton, ganti masing-masing property Name dengan
cmd_Tambah dan cmd_Kembali dan cmd_Tutup, Caption dengan Tambah dan Tutup,
Accelerator dengan huruf T dan P.
Hasil penambahan dan pengaturan control dapat dilihat pada gambar dibawah

Selanjutnya mengisi kode program pada control-kontrol yang digunakan dalam


proses:

*Isi combo Box


Private Sub jenis_Click()
If jenis.Text = "AKTIVA" Then
kode.Caption = "Awali dengan angka 1"
ElseIf jenis.Text = "HUTANG" Then
kode.Caption = "Awali dengan angka 2"
ElseIf jenis.Text = "MODAL" Then
kode.Caption = "Awali dengan angka 3"

14 HALAMAN
Membuat Aplikasi Akuntansi

ElseIf jenis.Text = "PENDAPATAN" Then


kode.Caption = "Awali dengan angka 4"
ElseIf jenis.Text = "HPP" Then
kode.Caption = "Awali dengan angka 5"
ElseIf jenis.Text = "BEBAN" Then
kode.Caption = "Awali dengan angka 6"
ElseIf jenis.Text = "PENDAPATAN DAN BEBAN LAIN-LAIN" Then
kode.Caption = "Awali dengan angka 7"
End If
End Sub

*Isi perintah setelah nomor perkiraan dimasukkan


Private Sub no_akun_AfterUpdate()
kd = Val(no_akun.Text)
Sheets("COA").Select
Range("a9").Select
Set cari = Cells.Find(kd, LookIn:=xlValues, Lookat:=xlWhole, SearchOrder:=xlByColumns)
If Not cari Is Nothing Then
MsgBox "Kode Akun sudah ada!", vbOKOnly + vbInformation, "Konfirmasi"
no_akun.SetFocus
nm_akun.Enabled = False
Else
nm_akun.Enabled = True
End If
If Len(no_akun.Text) < 3 Then
MsgBox "Jumlah Nomor Perkiraan adalah 3 digit", vbOKOnly + vbInformation, "Nomor
Perkiraan"
no_akun.SetFocus
nm_akun.Enabled = False
End If
End Sub

15 HALAMAN
Membuat Aplikasi Akuntansi
*Pembatasan data input pada nomor perkiraan
Private Sub no_akun_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii() >= 48 And KeyAscii() <= 57 Or KeyAscii = vbKeyBack Then
Else
KeyAscii() = 0
End If
End Sub

*Isi tombol tambah


Private Sub tambah_Click()
'Memasukkan data pada sheet COA
Sheets("COA").Select
ActiveSheet.Unprotect
Range("A9").Select
ActiveCell.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = no_akun.Text
ActiveCell.HorizontalAlignment = xlCenter
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = nm_akun.Text
ActiveCell.NumberFormat = "_ @"
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = tipe.Text
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = saldo.Text
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_ju
ActiveCell.Offset(0, -3).Select
ActiveWorkbook.Unprotect
'Memasukkan data pada Neraca Lajur

16 HALAMAN
Membuat Aplikasi Akuntansi
Sheets("Neraca Lajur").Visible = True
Sheets("Neraca Lajur").Select
Sheets("Neraca Lajur").Unprotect
Range("A9").Select
ActiveCell.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.Formula = "=COA!rc"
ActiveCell.Font.Size = 10
ActiveCell.NumberFormat = "_ @"
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=COA!rc"
ActiveCell.Font.Size = 10
ActiveCell.NumberFormat = "_ @"
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=IF(COA!rc=""Debit"",(COA!rc[1]+SUMIF(JURNAL!r10c3:r250c3,rc[-2],
JURNAL!r10c5:r250c5))-SUMIF(JURNAL!r10c3:r250c3,rc[-2],JURNAL!r10c6:r250c6),0)"
ActiveCell.Font.Size = 10
ActiveCell.NumberFormat = "_(""Rp.""* #,##0.00_);_(* (""Rp.""* #,##0.00);_(* ""-""??_);_(@_)"
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=IF(COA!rc[-1]=""Kredit"",
(COA!rc+SUMIF(JURNAL!r10c3:r250c3,rc[-3],JURNAL!r10c6:r250c6))-SUMIF(JURNAL!r10c3:
r250c3,rc[-3],JURNAL!r10C5:r250c5),0)"
ActiveCell.Font.Size = 10
ActiveCell.NumberFormat = "_(""Rp.""* #,##0.00_);_(* (""Rp.""* #,##0.00);_(* ""-""??_);_(@_)"
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=SUMIF('JURNAL PENYESUAIAN'!R10C3:R250C3,rc[-4],'JURNAL
PENYESUAIAN'!R10C5:R250C5)"
ActiveCell.Font.Size = 10
ActiveCell.NumberFormat = "_(""Rp.""* #,##0.00_);_(* (""Rp.""* #,##0.00);_(* ""-""??_);_(@_)"
bingkai_ju

17 HALAMAN
Membuat Aplikasi Akuntansi
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=SUMIF('JURNAL PENYESUAIAN'!R10C3:R250C3,rc[-5],'JURNAL
PENYESUAIAN'!R10C6:R250C6)"
ActiveCell.Font.Size = 10
ActiveCell.NumberFormat = "_(""Rp.""* #,##0.00_);_(* (""Rp.""* #,##0.00);_(* ""-""??_);_(@_)"
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=IF(OR((rc[-4]+rc[-2])-rc[-1]<0,rc[-3]<>0),0,(rc[-4]+rc[-2])-rc[-1])"
ActiveCell.Font.Size = 10
ActiveCell.NumberFormat = "_(""Rp.""* #,##0.00_);_(* (""Rp.""* #,##0.00);_(* ""-""??_);_(@_)"
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=IF(rc[-8]>400,rc[-2],0)"
ActiveCell.Font.Size = 10
ActiveCell.NumberFormat = "_(""Rp.""* #,##0.00_);_(* (""Rp.""* #,##0.00);_(* ""-""??_);_(@_)"
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=IF(rc[-9]>400,rc[-2],0)"
ActiveCell.Font.Size = 10
ActiveCell.NumberFormat = "_(""Rp.""* #,##0.00_);_(* (""Rp.""* #,##0.00);_(* ""-""??_);_(@_)"
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=IF(rc[-10]<400,rc[-4],0)"
ActiveCell.Font.Size = 10
ActiveCell.NumberFormat = "_(""Rp.""* #,##0.00_);_(* (""Rp.""* #,##0.00);_(* ""-""??_);_(@_)"
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=IF(rc[-11]<400,rc[-4],0)"
ActiveCell.Font.Size = 10
ActiveCell.NumberFormat = "_(""Rp.""* #,##0.00_);_(* (""Rp.""* #,##0.00);_(* ""-""??_);_(@_)"
bingkai_ju
jenis.Text = ""
no_akun.Text = ""

18 HALAMAN
Membuat Aplikasi Akuntansi
nm_akun.Text = ""
tipe.Text = ""
saldo.Text = ""
jenis.SetFocus
Sheets("NERACA LAJUR").Visible = False
Sheets("COA").Select
ActiveWorkbook.Protect Structure:=True, Windows:=False
End Sub

*Isi tombol Tutup


Private Sub cmd_tutup_Click()
End
Range("a1").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

*Isi perintah pada saat Userform aktif


Private Sub UserForm_Activate()
no_akun.MaxLength = 3
End Sub
Private Sub UserForm_Initialize()
jenis.AddItem "AKTIVA"
jenis.AddItem "HUTANG"
jenis.AddItem "MODAL"
jenis.AddItem "PENDAPATAN"
jenis.AddItem "HPP"
jenis.AddItem "BEBAN"
jenis.AddItem "PENDAPATAN DAN BEBAN LAIN-LAIN"
tipe.AddItem "Debit"
tipe.AddItem "Kredit"
End Sub

19 HALAMAN
Membuat Aplikasi Akuntansi

MEMBUAT
JURNAL UMUM
Sama halnya dengan COA, Jurnal Umum juga terediri dari 2 bagian, yaitu sheet Jurnal
Umum sebagai penampung data dan UserForm Jurnal Umum sebagai media input data.

Mendesain Sheet Jurnal Umum


Bagian sheet Jurnal Umum terdiri dari satu table yang berisi 6 kolom. Atur dan format sheet
Jurnal Umum, sehingga hasilnya seperti pada gambar dibawah:

Sheet jurnal umum ini nilai defaultnya juga tidak ditampilkan atau disembunyikan .
Gunakan cara yang sama seperti pada saat menyembunyikan sheet COA.

Menambah Tombol Perintah Pada Sheet Jurnal Umum


Sama seperti sheet COA, pada Sheet Jurnal Umum juga dilengkapi dengan beberapa
tombol perintah yang berfungsi untuk melengkapi dan mengatur tampilan Jurnal Umum.
Tombol-tombol tersebut antara lain: Ke Menu, Preview, Edit dan Cetak. Untuk menambah
tombol-tombol tersebut dapat anda diikuti langkah berikut ini:
Pilih tab Developer, klik tombol Insert Controls pada group Controls dan klik
CommandButton (ActiveX Control) pada bagian ActiveX Controls, Kemudian klik pada
bagian sheet Jurnal Umum.
Ulangi langkah tersebut sampai terbentuk 4 (empat) tombol perintah.
Atur masing-masing tombol perintah dengan cara klik kanan pada tombol perintah dan
pilih Properties, sehingga akan ditampilkan jendela Properties.

20 HALAMAN
Membuat Aplikasi Akuntansi
Ganti property Name masing masing tombol perintah menjadi Menu, Edit, Preview dan
Cetak.
Ganti property Caption masing-masing tombol perintah dengan Ke Menu, Preview, Edit,
dan Cetak.
Selanjutnya mengisi masing-masing tombol dengan perintah. Perintah yang sesuai
dengan fungsi dari tombol tersebut dengan cara klik dua kali pada masing-masing
tombol.
Kemudian ketikkan kode-kode program berikut ini untuk masing-masing tombol yang
terdapat dalam sheet JURNAL:

*Isi tombol Cetak


Private Sub cetak_Click()
ActiveSheet.Unprotect
Range("a6").Select
preview.Visible = False
cetak.Visible = False
Range(ActiveCell, ActiveCell.End(xlDown).End(xlDown).CurrentRegion).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
ActiveSheet.PrintOut
Range("a1").Select
preview.Visible = True
cetak.Visible = True
ActiveSheet.PageSetup.PrintArea = Clear
End Sub

*Isi tombol edit


Private Sub Edit_Click()
frm_editJU.Show
End Sub

*Isi tombol Ke Menu


Private Sub menu_Click()
ActiveWorkbook.Unprotect
Sheets("Menu").Visible = True
Sheets("COA").Visible = False

21 HALAMAN
Membuat Aplikasi Akuntansi
Sheets("Jurnal").Visible = False
Sheets("Buku Besar").Visible = False
Sheets("Jurnal Penyesuaian").Visible = False
Sheets("Neraca Lajur").Visible = False
Sheets("Rugi Laba").Visible = False
Sheets("Perubahan Modal").Visible = False
Sheets("Neraca").Visible = False
ActiveWindow.DisplayWorkbookTabs = False
ActiveWorkbook.Protect Structure:=True, Windows:=False
End Sub

*Isi tombol Preview


Private Sub preview_Click()
ActiveSheet.Unprotect
Range("a6").Select
menu.Visible = False
preview.Visible = False
cetak.Visible = False
edit.Visible = False
Range(ActiveCell, ActiveCell.End(xlDown).End(xlDown).CurrentRegion).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
With ActiveSheet.PageSetup
.Orientation = xlPortrait
.PaperSize = xlPaperLegal
.CenterHorizontally = True
.CenterVertically = True
.PrintTitleRows = ActiveSheet.Rows(10).Address
.Zoom = False
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
Selection.PrintPreview
Range("a1").Select
menu.Visible = True

22 HALAMAN
Membuat Aplikasi Akuntansi
preview.Visible = True
cetak.Visible = True
edit.Visible = True
ActiveSheet.PageSetup.PrintArea = Clear
End Sub

*Isi Perintah pada saat Worksheet Aktif


Private Sub Worksheet_Activate()
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Range("A10").Select
End Sub

Mendesain UserForm Jurnal Umum


Bagian UserForm jurnal Umum dibuat pada jendela Visual Basic Editor, dengan langkah
sebagai berikut:
Klik tombol Visual Basic pada tab Developer dalam group Code untuk membuka jendela
Visual Basic Editor.
Tambahkan UserForm baru dengan cara klik menu Insert – UserForm.
Atur properties UserForm dengan ketentuan sebagai berikut:
Tambahkan beberapa control dalam UserForm dengan ketentuan sebagai berikut
1. 5 (lima) buah label, ganti masing-masing property Caption dengan kode Transaksi,
Tanggal, Kode Akun, Debet dan Jumlah.
2. 3 (tiga) buah TextBox, ganti masing-masing property name dengan nmr, tgl, jml.
3. 2 (dua) buah combobox, ganti masing-masing property name dengan kode dan jenis.
4. 5 (lima) buah CommandButton, ganti masing-masing property Name dengan sebelum,
berikut, tambah dan tutup
Hasil penambahan dan pengaturan control pada UserForm dapat dilihat pada gambar
dibawah ini:

23 HALAMAN
Membuat Aplikasi Akuntansi
Ketikkan kode program pada masing-masing control sebagai berikut:
*Mendeklarasikan variabel
Dim debit, kredit As Double

*Isi tombol Berikut (>)


Private Sub berikut_Click()
ActiveCell.End(xlToLeft).Offset(1, 0).Select
If nmr.Text <> ActiveCell.Value Then
berikut.Enabled = False
sebelum.Enabled = True
ActiveCell.Offset(-1, 0).Select
Else
nmr.Text = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
tgl.Text = Format(ActiveCell.Value, "dd-mmm-yy")
ActiveCell.Offset(0, 1).Select
kode.Text = ActiveCell.Value
ActiveCell.Offset(0, 2).Select
If ActiveCell.Value <> 0 Then
jml.Text = ActiveCell.Value
jenis.Text = "Debit"
Else
ActiveCell.Offset(0, 1).Select
jml.Text = ActiveCell.Value
jenis.Text = "Kredit"
End If
berikut.Enabled = True
End If
berikut.Enabled = False
sebelum.Enabled = True
End Sub

*Isi perintah pada saat memilih nomor perkiraan


Private Sub kode_Change()

24 HALAMAN
Membuat Aplikasi Akuntansi

kode.Text = Left(kode.Text, 3)
End Sub

*Isi tombol OK
Private Sub ok_Click()
Sheets("Jurnal").Select
Range("a8").Select
ActiveCell.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = nmr.Text
ActiveCell.HorizontalAlignment = xlCenter
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = tgl.Text
ActiveCell.NumberFormat = "dd-mmm-yy"
ActiveCell.HorizontalAlignment = xlCenter
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = kode.Text
ActiveCell.HorizontalAlignment = xlCenter
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=VLOOKUP(RC[-1],COA!R11C1:R140C2,2)"
ActiveCell.NumberFormat = "_ @"
bingkai_ju
If jenis.Text = "Debit" Then
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = jml.Text
debit = debit + Val(jml.Text)
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = 0

25 HALAMAN
Membuat Aplikasi Akuntansi

ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "


bingkai_ju
ElseIf jenis.Text = "Kredit" Then
ActiveCell.Offset(0, 2).Select
ActiveCell.Value = jml.Text
kredit = kredit + Val(jml.Text)
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_ju
ActiveCell.Offset(0, -1).Select
ActiveCell.Value = 0
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_ju
End If
debit = debit
kredit = kredit
kode.Text = kode.List(0)
jenis.Text = jenis.List(0)
jml.Text = ""
sebelum.Visible = True
berikut.Visible = True
End Sub

*Isi tombol Sebelum


Private Sub sebelum_Click()
ActiveCell.End(xlToLeft).Offset(-1, 0).Select
If nmr.Text <> ActiveCell.Value Then
sebelum.Enabled = False
berikut.Visible = True
ActiveCell.Offset(1, 0).Select
Else
nmr.Text = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
tgl.Text = Format(ActiveCell.Value, "dd-mmm-yy")

26 HALAMAN
Membuat Aplikasi Akuntansi
ActiveCell.Offset(0, 1).Select
kode.Text = ActiveCell.Value
ActiveCell.Offset(0, 2).Select
If ActiveCell.Value <> 0 Then
jml.Text = ActiveCell.Value
jenis.Text = "Debit"
Else
ActiveCell.Offset(0, 1).Select
jml.Text = ActiveCell.Value
jenis.Text = "Kredit"
End If
sebelum.Enabled = True
End If
berikut.Enabled = True
sebelum.Enabled = False
End Sub

*Isi tombol Tambah


Private Sub tambah_Click()
If debit = kredit Then
tgl.Text = ""
kode.Text = kode.List(0)
jenis.Text = jenis.List(0)
jml.Text = ""
Range("a8").Select
ActiveCell.End(xlDown).Select
If Val(Right(ActiveCell.Value, 2)) > 0 And Val(Right(ActiveCell.Value, 2)) <= 8 Then
nmr.Text = "JU000" & Val(Right(ActiveCell.Value, 1)) + 1
ElseIf Val(Right(ActiveCell.Value, 2)) >= 9 And Val(Right(ActiveCell.Value, 2)) <= 98
Then
nmr.Text = "JU00" & Val(Right(ActiveCell.Value, 2)) + 1
ElseIf Val(Right(ActiveCell.Value, 3)) >= 99 And Val(Right(ActiveCell.Value, 3)) <=
998 Then

27 HALAMAN
Membuat Aplikasi Akuntansi

nmr.Text = "JU0" & Val(Right(ActiveCell.Value, 3)) + 1


ElseIf Val(Right(ActiveCell.Value, 3)) >= 999 Then
nmr.Text = "JU" & Val(Right(ActiveCell.Value, 4)) + 1
End If
Else
MsgBox "Transaksi tidak seimbang!", vbOKOnly + vbInformation, "Konfirmasi"
sebelum.Visible = True
ok.Visible = False
tambah.Visible = False
tutup.Visible = False
End If
berikut.Visible = False
sebelum.Visible = False
ok.Visible = True
tutup.Visible = True
debit = 0
kredit = 0
End Sub

*Isi tombol Tutup


Private Sub tutup_Click()
Range("a9").Select
tanya = MsgBox("Apakah Jurnal sudah selesai?", vbYesNo, "Konfirmasi Jurnal Umum")
If tanya = vbYes Then
ActiveCell.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Range(ActiveCell, ActiveCell.Offset(0, 3)).MergeCells = True
ActiveCell.Value = "Jumlah"
ActiveCell.HorizontalAlignment = xlCenter
ActiveCell.Font.Bold = True
Selection.Borders.LineStyle = xlDouble
Selection.Borders.ColorIndex = 1
Selection.Interior.ColorIndex = 48

28 HALAMAN
Membuat Aplikasi Akuntansi

ActiveCell.Offset(-1, 1).Select
Range(ActiveCell, ActiveCell.End(xlUp).Offset(1, 0)).Select
Selection.Name = "Debit"
tot1 = Application.Sum(Range("debit"))
ActiveCell.End(xlDown).Offset(1, 0).Select
ActiveCell.Value = tot1
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
ActiveCell.Borders.LineStyle = xlDouble
ActiveCell.Borders.ColorIndex = 1
ActiveCell.Interior.ColorIndex = 48
ActiveCell.Font.Bold = True
ActiveCell.Offset(-1, 1).Select
Range(ActiveCell, ActiveCell.End(xlUp).Offset(1, 0)).Select
Selection.Name = "Kredit"
tot2 = Application.Sum(Range("Kredit"))
ActiveCell.End(xlDown).Offset(1, 0).Select
ActiveCell.Value = tot2
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
ActiveCell.Borders.LineStyle = xlDouble
ActiveCell.Borders.ColorIndex = 1
ActiveCell.Interior.ColorIndex = 48
ActiveCell.Font.Bold = True
Range("a9").EntireRow.Insert
Range("a9:f9").Borders(xlEdgeTop).LineStyle = xlNone
Range("a1").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Jurnal").Visible = True
frm_JU.Hide
Else
End
frm_JU.Hide
End If
End Sub

29 HALAMAN
Membuat Aplikasi Akuntansi

*Isi perintah pada saat Userform Aktif


Private Sub UserForm_Activate()
ActiveWorkbook.Unprotect
Sheets("Jurnal").Activate
ActiveSheet.Unprotect
Range("a8").Select
ActiveCell.End(xlDown).Select
If Val(Right(ActiveCell.Value, 2)) > 0 And Val(Right(ActiveCell.Value, 2)) <= 8 Then
nmr.Text = "JU000" & Val(Right(ActiveCell.Value, 1)) + 1
ElseIf Val(Right(ActiveCell.Value, 2)) >= 9 And Val(Right(ActiveCell.Value, 2)) <= 98 Then
nmr.Text = "JU00" & Val(Right(ActiveCell.Value, 2)) + 1
ElseIf Val(Right(ActiveCell.Value, 3)) >= 99 And Val(Right(ActiveCell.Value, 3)) <= 998
Then
nmr.Text = "JU0" & Val(Right(ActiveCell.Value, 3)) + 1
ElseIf Val(Right(ActiveCell.Value, 3)) >= 999 Then
nmr.Text = "JU" & Val(Right(ActiveCell.Value, 4)) + 1
ElseIf Left(ActiveCell.Value, 2) <> "JU" Then
nmr.Text = "JU000" & "1"
End If
End Sub

*Mengisi data pilihan pada combo box kode dan tipe


Private Sub UserForm_Initialize()
kode.RowSource = "coa!f11:f140"
jenis.AddItem "Debit"
jenis.AddItem "Kredit"
End Sub

Mendesain UserForm Edit Jurnal Umum


UserForm Edit Jurnal Umum digunakan untuk mengedit jurnal umum yang sudah terlanjur
diposting tetapi masih ada kesalahan. Mendesain UserForm Edit Jurnal Umum sama seperti
mendesain UserForm Jurnal Umum. Untuk lebih jelasnya dapat anda ikuti lankah-langkah
membuat UserForm Edit Jurnal Umum berikut ini:

30 HALAMAN
Membuat Aplikasi Akuntansi
Klik tombol Visual Basic pada tab Developer dalam group Code untuk membuka jendela
Visual Basic Editor.
Tambahkan UserForm baru dengan cara klik menu Insert – UserForm.
Atur properties UserForm dengan ketentuan sebagai berikut:
Name : frm_EditJU
Caption : Edit Jurnal
Tambahkan beberapa kontrol dalam UserForm dengan ketentuan sebagai berikut:
1. 5 (lima) buah label, ganti masing-masing property Caption dengan Kode Transaksi,
Tanggal, Kode Akun, Debet, dan Jumlah.
2. 3 (tiga) buah TextBox, ganti masing-masing property Name dengan nmr, tgl dan jml.
3. 2 (dua) buah ComboBox, ganti masing-masing property Name dengan kode dan jenis.
4. 3 (tiga) buah CommandButton, ganti masing-masing property Name dengan sebelum,
berikut, dan simpan.
Hasil penambahan dan pengaturan kontrol pada UserForm dapat dilihat pada gambar
dibawah:

Ketikkan kode program pada masing-masing kontrol sebagai berikut:


*Isi tombol berikut
Private Sub berikut_Click()
sebelum.Enabled = True
ActiveCell.End(xlToLeft).Offset(1, 0).Select
If ActiveCell.Value <> nmr.Text Then
berikut.Enabled = False
sebelum.Enabled = True
ActiveCell.Offset(-1, 0).Select

31 HALAMAN
Membuat Aplikasi Akuntansi

Else
nmr.Text = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
tgl.Text = Format(ActiveCell.Value, "dd-mmm-yy")
ActiveCell.Offset(0, 1).Select
kode.Text = ActiveCell.Value
ActiveCell.Offset(0, 2).Select
If ActiveCell.Value <> 0 Then
jml.Text = ActiveCell.Value
jenis.Text = "debit"
Else
ActiveCell.Offset(0, 1).Select
jml.Text = ActiveCell.Value
jenis.Text = "Kredit"
End If
berikut.Enabled = True
End If
berikut.Enabled = False
sebelum.Enabled = True
End Sub

Private Sub kode_Change()


kode.Text = Left(kode.Text, 3)
End Sub

*Isi perintah setelah nomor jurnal dimasukkan


Private Sub nmr_AfterUpdate()
nomor = nmr.Text
Sheets("Jurnal").Range("a1").Select
Set cr = Cells.Find(nomor, LookIn:=xlFormulas)
If cr Is Nothing Then
MsgBox "Nomor Jurnal tidak ada!", vbOKOnly + vbInformation, "Konfirmasi"
nmr.SetFocus

32 HALAMAN
Membuat Aplikasi Akuntansi

tgl.Enabled = False
Else
Sheets("Jurnal").Cells.Find(nomor, LookIn:=xlFormulas).Activate
ActiveCell.Offset(0, 1).Select
tgl.Enabled = True
tgl.Text = Format(ActiveCell.Value, "DD-MMM-YY")
ActiveCell.Offset(0, 1).Select
kode.Text = ActiveCell.Value
ActiveCell.Offset(0, 2).Select
If ActiveCell.Value <> 0 Then
jml.Text = ActiveCell.Value
jenis.Text = "Debit"
Else
ActiveCell.Offset(0, 1).Select
jml.Text = ActiveCell.Value
jenis.Text = "Kredit"
End If
End If
berikut.Enabled = True
sebelum.Enabled = False
End Sub

*Isi tombol sebelum


Private Sub sebelum_Click()
berikut.Enabled = False
ActiveCell.End(xlToLeft).Offset(-1, 0).Select
If ActiveCell.Value <> nmr.Text Then
sebelum.Enabled = False
berikut.Enabled = True
ActiveCell.Offset(1, 0).Select
Else
nmr.Text = ActiveCell.Value
ActiveCell.Offset(0, 1).Select

33 HALAMAN
Membuat Aplikasi Akuntansi

tgl.Text = Format(ActiveCell.Value, "dd-mmm-yy")


ActiveCell.Offset(0, 1).Select
kode.Text = ActiveCell.Value
ActiveCell.Offset(0, 2).Select
If ActiveCell.Value <> 0 Then
jml.Text = ActiveCell.Value
jenis.Text = "Debit"
Else
ActiveCell.Offset(0, 1).Select
jml.Text = ActiveCell.Value
jenis.Text = "Kredit"
End If
sebelum.Enabled = True
End If
berikut.Enabled = True
sebelum.Enabled = False
End Sub

*Isi tombol Simpan


Private Sub Simpan_Click()
Sheets("Jurnal").Unprotect
ActiveCell.End(xlToLeft).Select
ActiveCell.Value = nmr.Text
ActiveCell.HorizontalAlignment = xlCenter
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = tgl.Text
ActiveCell.NumberFormat = "dd-mmm-yy"
ActiveCell.HorizontalAlignment = xlCenter
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = kode.Text
ActiveCell.HorizontalAlignment = xlCenter

34 HALAMAN
Membuat Aplikasi Akuntansi

bingkai_ju
If jenis.Text = "Debit" Then
ActiveCell.Offset(0, 2).Select
ActiveCell.Value = jml.Text
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = 0
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_ju
ElseIf jenis.Text = "Kredit" Then
ActiveCell.Offset(0, 3).Select
ActiveCell.Value = jml.Text
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_ju
ActiveCell.Offset(0, -1).Select
ActiveCell.Value = 0
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_ju
End If
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Range("a1").Select
End
End Sub

*Mengisi data pilihan pada combo box kode dan tipe


Private Sub UserForm_Initialize()
kode.RowSource = "coa!f11:f140"
jenis.AddItem "Debit"
jenis.AddItem "Kredit"
End Sub

35 HALAMAN
Membuat Aplikasi Akuntansi

MEMBUAT
BUKU BESAR
Buku besar juga terdir dari dua bagian yaitu, Sheet Buku Besar dan UserForm Buku Besar

Mendesain Sheet Buku Besar


Bagian ini terdiri dari satu table yang berisi 6 (enam) kolom dan 90 baris (masih dapat
ditambah lagi). Pada bagian sel tertentu sediakan sel kosong untuk menuliskan kriteria
untuk buku besar. Untuk lebih jelasnya perhatikan pada gambar dibawah ini:

Nilai default sheet Buku Besar tidak ditampilkan atau disembunyikan.

Menambah Tombol Perintah pada Sheet Buku Besar


Dalam sheet buku besar juga ditambahkan beberapa tombol yang sama dalam Jurnal
Umum, yaitu tombol Menu, Jumlah, Preview, dan Cetak. Langkah untuk membuat tombol
perintah pada sheet Buku Besar adalah sebagai berikut:
Pada tab Developer, klik tombol Insert Control dan klik tombol Command Button
(ActiveX Control) pada bagian Activex Control. Ulangi langkah tersebut sampai terbentuk
4 (empat) tombol perintah
Ganti teks pada masing-masing Button dengan Ke Menu, Buku Besar, Preview dan Cetak
Selanjutnya masukkan kode program untuk mengisi perintah tombol perintah pada
jendela Visual Basic dengan cara klik dua kali pada masing-masing tombol dan kode
program masing-masing tombol sebagai berikut:

36 HALAMAN
Membuat Aplikasi Akuntansi

*Isi tombol buku besar


Private Sub besar_Click()
ActiveSheet.Unprotect
frm_bkbesar.Show
End Sub

*Isi tombol cetak


Private Sub cetak_Click()
Range("a7").Select
menu.Visible = False
preview.Visible = False
cetak.Visible = False
besar.Visible = False
Range(ActiveCell, ActiveCell.End(xlDown).End(xlDown).Offset(2, 0)).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
ActiveSheet.PrintOut
Range("a1").Select
menu.Visible = True
preview.Visible = True
cetak.Visible = True
besar.Visible = True
ActiveSheet.PageSetup.PrintArea = Clear
End Sub

*Isi tombol Ke Menu


Private Sub menu_Click()
ActiveWorkbook.Unprotect
Sheets("Menu").Visible = True
Sheets("COA").Visible = False
Sheets("Jurnal").Visible = False
Sheets("Buku Besar").Visible = False

37 HALAMAN
Membuat Aplikasi Akuntansi

Sheets("Jurnal Penyesuaian").Visible = False


Sheets("Neraca Lajur").Visible = False
Sheets("Rugi Laba").Visible = False
Sheets("Perubahan Modal").Visible = False
Sheets("Neraca").Visible = False
ActiveWindow.DisplayWorkbookTabs = False
ActiveWorkbook.Protect Structure:=True, Windows:=False
End Sub

*Isi tombol Preview


Private Sub preview_Click()
Range("a7").Select
menu.Visible = False
preview.Visible = False
cetak.Visible = False
besar.Visible = False
Range(ActiveCell, ActiveCell.End(xlDown).End(xlDown).Offset(2, 0)).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.PaperSize = xlPaperLegal
.CenterHorizontally = True
.CenterVertically = True
End With
Selection.PrintPreview
Range("a1").Select
menu.Visible = True
preview.Visible = True
cetak.Visible = True
besar.Visible = True
ActiveSheet.PageSetup.PrintArea = Clear

38 HALAMAN
Membuat Aplikasi Akuntansi

End Sub

*Isi perintah pada saat Worksheet Aktif


Private Sub Worksheet_Activate()
Range("A11").Select
'ActiveWindow.FreezePanes = True
End Sub

Mendesain UserForm Buku Besar


Userform Buku Besar digunakan untuk menentukan dan memproses jenis akun yang akan
ditampilkan pada sheet buku besar. Langkah untuk membuat UserForm Buku Besar adalah
sebagai berikut:
Klik tombol Visual Basic pada tab Develover dalam group Code untuk membuka jendela
Visual Basic Editor.
Tambahkan UserForm baru dengan cara klik menu Insert – UserForm.
Atur properties UserForm dengan ketentuan sebagai berikut:
Name : frm_bkbesar
Caption : Buku Besar
Tambahkan beberapa kontrol dalam UserForm dengan ketentuan sebagai berikut:
1. 2 (dua) buah Label, ganti masing-masing property Caption dengan Kode Perk. Dan
Periode.
2. 3 (tiga) buah ComboBox, ganti property Name menjadi kode, bulan1 dan bulan2.
3. 1 (satu) buah TextBox, ganti property Name menjadi tahun. Isi property Text dengan nilai
2010.
4. 1 (satu) Spin Button, gangti property Name menjadi sp_thn . isi property Max dengan nilai
2030 dan Min dengan 2010.
5. 1 (satu) buah CommandButton, ganti property Name menjadi proses, caption dengan
Proses dan Accelarator dengan P
Sehingga hasil dari penambahan kontrol pada UserForm dapat anda lihat pada gambar
dibawah ini:

39 HALAMAN
Membuat Aplikasi Akuntansi

Ketikkan kode program pada masing-masing kontrol sebagai berikut:

*Isi combo box bulan1


Private Sub bulan1_Click()
If bulan1.Text <> "" And bulan2.Text <> "" Then
Range("B8").Value = bulan1.Text & " s/d " & bulan2.Text & " " & tahun.Text
Range("B6").Value = ">=" & Format(bulan1.Text & "/" & tahun.Text, "dd/mm/yy")
Range("C6").Value = "<=" & Format(WorksheetFunction.EoMonth(bulan2.Text & " - " &
tahun.Text, 0), "mm/dd/yy")
ElseIf bulan2.Text = "" Then
Range("B8").Value = bulan1.Text & " " & tahun.Text
Range("B8").NumberFormat = "mmmm yyyy"
Range("B6").Value = "<=" & Format(WorksheetFunction.EoMonth(bulan1.Text & " - " &
tahun.Text, 0), "mm/dd/yy")
ElseIf bulan1.Text = "" Then
Range("B8").Value = bulan2.Text & " " & tahun.Text
Range("B8").NumberFormat = "mmmm yyyy"
Range("B6").Value = "<=" & Format(WorksheetFunction.EoMonth(bulan2.Text & " - " &
tahun.Text, 0), "mm/dd/yy")
Else
MsgBox "Isi tahun periode akuntansinya!"
End If
End Sub

*Isi combo box bulan2


Private Sub bulan2_Click()

40 HALAMAN
Membuat Aplikasi Akuntansi

If bulan1.Text <> "" And bulan2.Text <> "" Then


Range("B8").Value = bulan1.Text & " s/d " & bulan2.Text & " " & tahun.Text
Range("B6").Value = ">=" & Format(bulan1.Text & "/" & tahun.Text, "mm/dd/yy")
Range("C6").Value = "<=" & Format(WorksheetFunction.EoMonth(bulan2.Text & " - " &
tahun.Text, 0), "mm/dd/yy")
ElseIf bulan2.Text = "" Then
Range("B8").Value = bulan1.Text & " " & tahun.Text
Range("B8").NumberFormat = "mmmm yyyy"
Range("B6").Value = "<=" & Format(WorksheetFunction.EoMonth(bulan1.Text & " - " &
tahun.Text, 0), "mm/dd/yy")
ElseIf bulan1.Text = "" Then
Range("B8").Value = bulan2.Text & " " & tahun.Text
Range("B8").NumberFormat = "mmmm yyyy"
Range("B6").Value = "<=" & Format(WorksheetFunction.EoMonth(bulan2.Text & " - " &
tahun.Text, 0), "mm/dd/yy")
Else
MsgBox "Isi tahun periode akuntansinya"
End If
End Sub

*Isi perintah pada saar combo box kode di klik


Private Sub kode_Click()
kode.Text = Left(kode.Text, 3)
Sheets("Buku Besar").Select
ActiveSheet.Unprotect
If Range("a6").Value <> "" Then
Range("a6:c6").ClearContents
End If
Range("a6").Select
ActiveCell.Value = kode.Text
ActiveCell.Offset(1, 1).Select
ActiveCell.Formula = "=VLOOKUP(R[-1]C,COA!R8C1:R140C2,2)"
Range("a10").Select

41 HALAMAN
Membuat Aplikasi Akuntansi

Range(ActiveCell, ActiveCell.End(xlDown).End(xlDown)).EntireRow.Select
Selection.Rows.Hidden = False
ActiveCell.EntireRow.Delete
Selection.ClearContents
Range("a8").Select
End Sub

*Isi tombol proses


Private Sub proses_Click()
ActiveCell.Offset(1, 0).Select
Range(ActiveCell, ActiveCell.End(xlToRight)).Select
Sheets("Jurnal").Unprotect
If Sheets("Jurnal").Range("A10") <> "" Then
Sheets("Jurnal").Range("a10").CurrentRegion.AdvancedFilter xlFilterCopy, Sheets("Buku
Besar").Range("a5:C6"), Sheets("Buku Besar").Range("a9:f9"), False
End If
'mengambil saldo awal
ActiveCell.Offset(1, 0).Select
ActiveCell.EntireRow.Insert
ActiveCell.Value = "Saldo Awal"
ActiveCell.HorizontalAlignment = xlLeft
Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
Selection.Borders.Weight = xlMedium
Selection.Borders.ColorIndex = 1
Selection.Interior.ColorIndex = 48
ActiveCell.Offset(0, 1).Select
Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
Selection.Borders.Weight = xlMedium
Selection.Borders.ColorIndex = 1
Selection.Interior.ColorIndex = 48
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=r[-4]c[-2]"
ActiveCell.Font.Name = "Calibri"

42 HALAMAN
Membuat Aplikasi Akuntansi

ActiveCell.HorizontalAlignment = xlCenter
Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
Selection.Borders.Weight = xlMedium
Selection.Borders.ColorIndex = 1
Selection.Interior.ColorIndex = 48
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=vlookup(rc[-1],coa!R8C1:R140C2,2)"
ActiveCell.Font.Name = "Calibri"
ActiveCell.HorizontalAlignment = xlLeft
ActiveCell.NumberFormat = "_ @"
ActiveCell.EntireRow.AutoFit
Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
Selection.Borders.Weight = xlMedium
Selection.Borders.ColorIndex = 1
Selection.Interior.ColorIndex = 48
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula =
"=if(and(vlookup(rc[-2],coa!R11C1:R140C4,3)=""Debit"",vlookup(rc[-2],coa!R11C1:R140C4
,4)<>0),vlookup(rc[-2],coa!R11C1:R140C4,4),0)"
ActiveCell.Font.Name = "Calibri"
ActiveCell.HorizontalAlignment = xlRight
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
Selection.Borders.Weight = xlMedium
Selection.Borders.ColorIndex = 1
Selection.Interior.ColorIndex = 48
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula =
"=if(and(vlookup(rc[-3],coa!R11C1:R140C4,3)=""Kredit"",vlookup(rc[-3],coa!R11C1:R140C
4,4)<>0),vlookup(rc[-3],coa!R11C1:R140C4,4),0)"
ActiveCell.Font.Name = "Calibri"
ActiveCell.HorizontalAlignment = xlRight
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "

43 HALAMAN
Membuat Aplikasi Akuntansi

Selection.Borders(xlEdgeLeft).LineStyle = xlContinuous
Selection.Borders.Weight = xlMedium
Selection.Borders.ColorIndex = 1
Selection.Interior.ColorIndex = 48
Range("a101:A102").EntireRow.Delete
'Menghitung jumlah kolom Debit dan Kredit
Range("a10").Select
ActiveCell.End(xlDown).Select
Range("a100").Select
ActiveCell.Value = "Jumlah"
ActiveCell.HorizontalAlignment = xlCenter
ActiveCell.Font.Bold = True
Range("a100:d100").Select
Selection.Borders.LineStyle = xlContinuous
Selection.Borders.Weight = xlMedium
Selection.Borders.ColorIndex = 1
Selection.Interior.ColorIndex = 48
Range("e100").Select
ActiveCell.Formula = "=sum(e10:e99)"
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
ActiveCell.Borders.LineStyle = xlContinuous
Selection.Borders.Weight = xlMedium
ActiveCell.Borders.ColorIndex = 1
ActiveCell.Interior.ColorIndex = 48
Range("f100").Select
ActiveCell.Formula = "=sum(f10:f99)"
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
ActiveCell.Borders.LineStyle = xlContinuous
Selection.Borders.Weight = xlMedium
ActiveCell.Borders.ColorIndex = 1
ActiveCell.Interior.ColorIndex = 48
ActiveCell.End(xlUp).Select
ActiveCell.Offset(2, -5).Select

44 HALAMAN
Membuat Aplikasi Akuntansi

Range(Selection, Selection.End(xlDown).Offset(-1, 0)).Select


Selection.Rows.Hidden = True
ActiveCell.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.EntireRow.Insert
ActiveCell.Value = "Saldo"
ActiveCell.Font.Bold = True
ActiveCell.Offset(0, 4).Select
ActiveCell.Formula = "=if(e100<f100,f100-e100,0)"
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=if(f100<e100,e100-f100,0)"
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
Range(ActiveCell, ActiveCell.Offset(0, -5)).Select
ActiveCell.Borders.LineStyle = xlContinuous
Selection.Borders.Weight = xlMedium
ActiveCell.Borders.ColorIndex = 1
ActiveCell.Interior.ColorIndex = 48
ActiveCell.Offset(1, 0).Select
ActiveCell.EntireRow.Insert
ActiveCell.Value = "Jumlah"
ActiveCell.Font.Bold = True
ActiveCell.Offset(0, 4).Select
ActiveCell.Formula = "=sum(r[-2]c:r[-1]c)"
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=sum(r[-2]c:r[-1]c)"
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
Range(ActiveCell, ActiveCell.Offset(0, -5)).Select
ActiveCell.Borders.LineStyle = xlContinuous
Selection.Borders.Weight = xlMedium
ActiveCell.Borders.ColorIndex = 1
ActiveCell.Interior.ColorIndex = 48

45 HALAMAN
Membuat Aplikasi Akuntansi

ActiveCell.Borders.LineStyle = xlContinuous
Range("a1").Select
Sheets("Jurnal").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End
End Sub

*Isi perintah pada saat spin button tahun diisi


Private Sub sp_thn_Change()
tahun.Value = sp_thn.Value
End Sub

*Isi perintah pada saat spin pada saat textbox tahun dimasukkan data
Private Sub tahun_Change()
If bulan1.Text <> "" And bulan2.Text <> "" Then
Range("B8").Value = bulan1.Text & " s/d " & bulan2.Text & " " & tahun.Text
Range("B6").Value = ">=" & Format(bulan1.Text & "/" & tahun.Text, "dd/mm/yy")
Range("C6").Value = "<=" & Format(WorksheetFunction.EoMonth(bulan2.Text & " - " &
tahun.Text, 0), "mm/dd/yy")
ElseIf bulan1.Text <> "" And bulan2.Text = "" Then
Range("B8").Value = bulan1.Text & " " & tahun.Text
Range("B8").NumberFormat = "mmmm yyyy"
Range("B6").Value = "<=" & Format(WorksheetFunction.EoMonth(bulan1.Text & " - " &
tahun.Text, 0), "mm/dd/yy")
ElseIf bulan1.Text = "" And bulan2.Text <> "" Then
Range("B8").Value = bulan2.Text & " " & tahun.Text
Range("B8").NumberFormat = "mmmm yyyy"
Range("B6").Value = "<=" & Format(WorksheetFunction.EoMonth(bulan2.Text & " - " &
tahun.Text, 0), "mm/dd/yy")
Else
MsgBox "Isi bulan periode akuntansinya!", vbInformation
End If
End Sub

46 HALAMAN
Membuat Aplikasi Akuntansi

Private Sub UserForm_Initialize()


'Mengisi combo box kode dg sumber dr sheet coa
kode.RowSource = "coa!f11:f140"

'Mengisi combo box bulan dg nama bulan


bulan1.AddItem "Jan"
bulan1.AddItem "Feb"
bulan1.AddItem "Mar"
bulan1.AddItem "Apr"
bulan1.AddItem "May"
bulan1.AddItem "Jun"
bulan1.AddItem "Jul"
bulan1.AddItem "Aug"
bulan1.AddItem "Sep"
bulan1.AddItem "Oct"
bulan1.AddItem "Nop"
bulan1.AddItem "Dec"
bulan2.AddItem "Jan"
bulan2.AddItem "Feb"
bulan2.AddItem "Mar"
bulan2.AddItem "Apr"
bulan2.AddItem "May"
bulan2.AddItem "Jun"
bulan2.AddItem "Jul"
bulan2.AddItem "Aug"
bulan2.AddItem "Sep"
bulan2.AddItem "Oct"
bulan2.AddItem "Nop"
bulan2.AddItem "Dec"
End Sub

47 HALAMAN
Membuat Aplikasi Akuntansi

MEMBUAT
JURNAL PENYESUAIAN
Untuk membuat Jurnal Penyesuaian sama seperti membuta jurnal umum, hanya mengganti
saja judul laporannya. Bentuk sheet Jurnal Penyesuaian dengan UserForm jurnal
Penyesuaian juga sama seperti Jurnal Umum. Sehingga anda dapat menyalin sheet dan
UserForm Jurnal Umum. Berikut contoh Sheet Jurnal Penyesuaian:

Untuk kode program dari masing-masing tombol dapat anda ketikkan sebagai berikut:

*Isi tombol Cetak


Private Sub cetak_Click()
Range("a6").Select
edit.Visible = False
menu.Visible = False
preview.Visible = False
cetak.Visible = False
Range(ActiveCell, ActiveCell.End(xlDown).End(xlDown).Offset(2, 0)).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
ActiveSheet.PrintOut
Range("a1").Select
edit.Visible = True
menu.Visible = True
preview.Visible = True
cetak.Visible = True

48 HALAMAN
Membuat Aplikasi Akuntansi

ActiveSheet.PageSetup.PrintArea = Clear
End Sub

*Isi tombol Ke-Menu


Private Sub menu_Click()
ActiveWorkbook.Unprotect
ActiveSheet.Unprotect
Sheets("Menu").Visible = True
Sheets("COA").Visible = False
Sheets("Jurnal").Visible = False
Sheets("Buku Besar").Visible = False
Sheets("Jurnal Penyesuaian").Visible = False
Sheets("Neraca Lajur").Visible = False
Sheets("Rugi Laba").Visible = False
Sheets("Perubahan Modal").Visible = False
Sheets("Neraca").Visible = False
ActiveWindow.DisplayWorkbookTabs = False
ActiveWorkbook.Protect Structure:=True, Windows:=False
End Sub

*Isi tombol Preview


Private Sub preview_Click()
ActiveSheet.Unprotect
Range("a6").Select
edit.Visible = False
menu.Visible = False
preview.Visible = False
cetak.Visible = False
Range(ActiveCell, ActiveCell.End(xlDown).End(xlDown).CurrentRegion).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
With ActiveSheet.PageSetup
.Orientation = xlPortrait
.PaperSize = xlPaperLegal

49 HALAMAN
Membuat Aplikasi Akuntansi

.CenterHorizontally = True
.CenterVertically = True
.PrintTitleRows = ActiveSheet.Rows(10).Address
.Zoom = False
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
Selection.PrintPreview
Range("a1").Select
edit.Visible = True
menu.Visible = True
preview.Visible = True
cetak.Visible = True
ActiveSheet.PageSetup.PrintArea = Clear
End Sub

*Isi Perintah pada saat Worksheet aktif


Private Sub Worksheet_Activate()
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Range("A10").Select
End Sub

*Isi tombol Edit


Private Sub Edit_Click()
frm_editJP.Show
End Sub

Mendesain UserForm Jurnal Penyesuaian


Untuk UserForm Jurnal Penyesuaian sama dengan Jurnal Umum, berikut contoh UserForm
Jurnal Penyesuaian:

50 HALAMAN
Membuat Aplikasi Akuntansi

Untuk kode program dari masing-masing tombol dapat anda ketikkan sebagai berikut:

Dim debit, kredit As Double

Private Sub kode_Click()


kode.Text = Left(kode.Text, 3)
End Sub

Private Sub ok_Click()


Sheets("Jurnal Penyesuaian").Select
Range("a8").Select
ActiveCell.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = nmr.Text
ActiveCell.HorizontalAlignment = xlCenter
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = tgl.Text
ActiveCell.NumberFormat = "dd-mmm-yy"
ActiveCell.HorizontalAlignment = xlCenter
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = kode.Text

51 HALAMAN
Membuat Aplikasi Akuntansi

ActiveCell.HorizontalAlignment = xlCenter
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=VLOOKUP(RC[-1],COA!R11C1:R140C2,2)"
ActiveCell.NumberFormat = "_ @"
bingkai_ju
If jenis.Text = "Debit" Then
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = jml.Text
debit = debit + Val(jml.Text)
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = 0
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_ju
ElseIf jenis.Text = "Kredit" Then
ActiveCell.Offset(0, 2).Select
ActiveCell.Value = jml.Text
kredit = kredit + Val(jml.Text)
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_ju
ActiveCell.Offset(0, -1).Select
ActiveCell.Value = 0
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_ju
End If
debit = debit
kredit = kredit
kode.Text = kode.List(0)
jenis.Text = jenis.List(0)
jml.Text = ""
sebelum.Visible = True

52 HALAMAN
Membuat Aplikasi Akuntansi

berikut.Visible = True
End Sub

Private Sub tambah_Click()


If debit = kredit Then
tgl.Text = ""
kode.Text = kode.List(0)
jenis.Text = jenis.List(0)
jml.Text = ""
Range("a8").Select
ActiveCell.End(xlDown).Select
If Val(Right(ActiveCell.Value, 2)) > 0 And Val(Right(ActiveCell.Value, 2)) <= 8 Then
nmr.Text = "JP000" & Val(Right(ActiveCell.Value, 1)) + 1
ElseIf Val(Right(ActiveCell.Value, 2)) >= 9 And Val(Right(ActiveCell.Value, 2)) <= 98
Then
nmr.Text = "JP00" & Val(Right(ActiveCell.Value, 2)) + 1
ElseIf Val(Right(ActiveCell.Value, 3)) >= 99 And Val(Right(ActiveCell.Value, 3)) <= 998
Then
nmr.Text = "JP0" & Val(Right(ActiveCell.Value, 3)) + 1
ElseIf Val(Right(ActiveCell.Value, 3)) >= 999 Then
nmr.Text = "JP" & Val(Right(ActiveCell.Value, 4)) + 1
End If
Else
MsgBox "Transaksi tidak seimbang!", vbOKOnly + vbInformation, "Konfirmasi"
sebelum.Visible = True
ok.Visible = True
tambah.Visible = False
tutup.Visible = True
End If
End Sub

Private Sub tutup_Click()


Range("a9").Select

53 HALAMAN
Membuat Aplikasi Akuntansi

tanya = MsgBox("Apakah Jurnal sudah selesai?", vbYesNo, "Konfirmasi Jurnal


Penyesuaian")
If tanya = vbYes Then
ActiveCell.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
Range(ActiveCell, ActiveCell.Offset(0, 3)).MergeCells = True
ActiveCell.Value = "Jumlah"
ActiveCell.HorizontalAlignment = xlCenter
ActiveCell.Font.Bold = True
Selection.Borders.LineStyle = xlDouble
Selection.Borders.ColorIndex = 1
Selection.Interior.ColorIndex = 48
ActiveCell.Offset(-1, 1).Select
Range(ActiveCell, ActiveCell.End(xlUp).Offset(1, 0)).Select
Selection.Name = "Debit"
tot1 = Application.Sum(Range("debit"))
ActiveCell.End(xlDown).Offset(1, 0).Select
ActiveCell.Value = tot1
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
Selection.Borders.LineStyle = xlDouble
Selection.Borders.ColorIndex = 1
Selection.Interior.ColorIndex = 48
ActiveCell.Font.Bold = True
ActiveCell.Offset(-1, 1).Select
Range(ActiveCell, ActiveCell.End(xlUp).Offset(1, 0)).Select
Selection.Name = "Kredit"
tot2 = Application.Sum(Range("Kredit"))
ActiveCell.End(xlDown).Offset(1, 0).Select
ActiveCell.Value = tot2
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
Selection.Borders.LineStyle = xlDouble
Selection.Borders.ColorIndex = 1
Selection.Interior.ColorIndex = 48

54 HALAMAN
Membuat Aplikasi Akuntansi

ActiveCell.Font.Bold = True
Range("a9").EntireRow.Insert
Range("a9:f9").Borders(xlEdgeTop).LineStyle = xlNone
Range("a1").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("Jurnal Penyesuaian").Visible = True
frm_JP.Hide
Else
End
frm_JP.Hide
End If
End Sub

Private Sub UserForm_Activate()


ActiveWorkbook.Unprotect
Sheets("Jurnal Penyesuaian").Activate
ActiveSheet.Unprotect
Range("a8").Select
ActiveCell.End(xlDown).Select
If Val(Right(ActiveCell.Value, 2)) > 0 And Val(Right(ActiveCell.Value, 2)) <= 8 Then
nmr.Text = "JP000" & Val(Right(ActiveCell.Value, 1)) + 1
ElseIf Val(Right(ActiveCell.Value, 2)) >= 9 And Val(Right(ActiveCell.Value, 2)) <= 98 Then
nmr.Text = "JP00" & Val(Right(ActiveCell.Value, 2)) + 1
ElseIf Val(Right(ActiveCell.Value, 3)) >= 99 And Val(Right(ActiveCell.Value, 3)) <= 998
Then
nmr.Text = "JP0" & Val(Right(ActiveCell.Value, 3)) + 1
ElseIf Val(Right(ActiveCell.Value, 3)) >= 999 Then
nmr.Text = "JP" & Val(Right(ActiveCell.Value, 4)) + 1
ElseIf Left(ActiveCell.Value, 2) <> "JU" Then
nmr.Text = "JP000" & "1"
End If
End Sub

55 HALAMAN
Membuat Aplikasi Akuntansi

Private Sub UserForm_Initialize()


kode.RowSource = "coa!f11:f140"
jenis.AddItem "Debit"
jenis.AddItem "Kredit"
End Sub

Private Sub berikut_Click()


ActiveCell.End(xlToLeft).Offset(1, 0).Select
If nmr.Text <> ActiveCell.Value Then
berikut.Enabled = False
sebelum.Enabled = True
ActiveCell.Offset(-1, 0).Select
Else
nmr.Text = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
tgl.Text = Format(ActiveCell.Value, "dd-mmm-yy")
ActiveCell.Offset(0, 1).Select
kode.Text = ActiveCell.Value
ActiveCell.Offset(0, 2).Select
If ActiveCell.Value <> 0 Then
jml.Text = ActiveCell.Value
jenis.Text = "debit"
Else
ActiveCell.Offset(0, 1).Select
jml.Text = ActiveCell.Value
jenis.Text = "Kredit"
End If
berikut.Enabled = True
End If
berikut.Enabled = False
sebelum.Enabled = True
End Sub

56 HALAMAN
Membuat Aplikasi Akuntansi

Private Sub sebelum_Click()


ActiveCell.End(xlToLeft).Offset(-1, 0).Select
If nmr.Text <> ActiveCell.Value Then
sebelum.Enabled = False
berikut.Visible = True
ActiveCell.Offset(1, 0).Select
Else
nmr.Text = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
tgl.Text = Format(ActiveCell.Value, "dd-mmm-yy")
ActiveCell.Offset(0, 1).Select
kode.Text = ActiveCell.Value
ActiveCell.Offset(0, 2).Select
If ActiveCell.Value <> 0 Then
jml.Text = ActiveCell.Value
jenis.Text = "Debit"
Else
ActiveCell.Offset(0, 1).Select
jml.Text = ActiveCell.Value
jenis.Text = "Kredit"
End If
sebelum.Enabled = True
End If
berikut.Enabled = True
sebelum.Enabled = False
End Sub

Mendesain UserForm Edit Jurnal Penyesuaian


Untuk pembuatan Userform Edit Jurnal Penyesuaian berikut kode programnya sama
seperti pada Edit Jurnal Umum, hanya mengganti sheet tujuannya saja.

57 HALAMAN
Membuat Aplikasi Akuntansi

Untuk kode program dari masing-masing tombol dapat anda ketikkan sebagai berikut:

*Isi tombol berikut


Private Sub berikut_Click()
sebelum.Enabled = True
ActiveCell.End(xlToLeft).Offset(1, 0).Select
If ActiveCell.Value <> nmr.Text Then
berikut.Enabled = False
sebelum.Enabled = True
ActiveCell.Offset(-1, 0).Select
Else
nmr.Text = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
tgl.Text = Format(ActiveCell.Value, "dd-mmm-yy")
ActiveCell.Offset(0, 1).Select
kode.Text = ActiveCell.Value
ActiveCell.Offset(0, 2).Select
If ActiveCell.Value <> 0 Then
jml.Text = ActiveCell.Value
jenis.Text = "debit"
Else
ActiveCell.Offset(0, 1).Select
jml.Text = ActiveCell.Value

58 HALAMAN
Membuat Aplikasi Akuntansi

jenis.Text = "Kredit"
End If
berikut.Enabled = True
End If
berikut.Enabled = False
sebelum.Enabled = True
End Sub

Private Sub kode_Change()


kode.Text = Left(kode.Text, 3)
End Sub

*Isi perintah setelah nomor jurnal dimasukkan


Private Sub nmr_AfterUpdate()
nomor = nmr.Text
Sheets("Jurnal Penyesuaian").Range("a1").Select
Set cr = Cells.Find(nomor, LookIn:=xlFormulas)
If cr Is Nothing Then
MsgBox "Nomor Jurnal tidak ada!", vbOKOnly + vbInformation, "Konfirmasi"
nmr.SetFocus
tgl.Enabled = False
Else
Sheets("Jurnal Penyesuaian").Cells.Find(nomor, LookIn:=xlFormulas).Activate
ActiveCell.Offset(0, 1).Select
tgl.Enabled = True
tgl.Text = Format(ActiveCell.Value, "DD-MMM-YY")
ActiveCell.Offset(0, 1).Select
kode.Text = ActiveCell.Value
ActiveCell.Offset(0, 2).Select
If ActiveCell.Value <> 0 Then
jml.Text = ActiveCell.Value
jenis.Text = "Debit"
Else

59 HALAMAN
Membuat Aplikasi Akuntansi

ActiveCell.Offset(0, 1).Select
jml.Text = ActiveCell.Value
jenis.Text = "Kredit"
End If
End If
berikut.Enabled = True
sebelum.Enabled = False
End Sub

*Isi tombol sebelum


Private Sub sebelum_Click()
berikut.Enabled = False
ActiveCell.End(xlToLeft).Offset(-1, 0).Select
If ActiveCell.Value <> nmr.Text Then
sebelum.Enabled = False
berikut.Enabled = True
ActiveCell.Offset(1, 0).Select
Else
nmr.Text = ActiveCell.Value
ActiveCell.Offset(0, 1).Select
tgl.Text = Format(ActiveCell.Value, "dd-mmm-yy")
ActiveCell.Offset(0, 1).Select
kode.Text = ActiveCell.Value
ActiveCell.Offset(0, 2).Select
If ActiveCell.Value <> 0 Then
jml.Text = ActiveCell.Value
jenis.Text = "Debit"
Else
ActiveCell.Offset(0, 1).Select
jml.Text = ActiveCell.Value
jenis.Text = "Kredit"
End If
sebelum.Enabled = True

60 HALAMAN
Membuat Aplikasi Akuntansi

End If
berikut.Enabled = True
sebelum.Enabled = False
End Sub

*Isi tombol simpan


Private Sub Simpan_Click()
Sheets("Jurnal Penyesuaian").Unprotect
ActiveCell.End(xlToLeft).Select
ActiveCell.Value = nmr.Text
ActiveCell.HorizontalAlignment = xlCenter
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = tgl.Text
ActiveCell.NumberFormat = "dd-mmm-yy"
ActiveCell.HorizontalAlignment = xlCenter
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = kode.Text
ActiveCell.HorizontalAlignment = xlCenter
bingkai_ju
If jenis.Text = "Debit" Then
ActiveCell.Offset(0, 2).Select
ActiveCell.Value = jml.Text
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_ju
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = 0
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_ju
ElseIf jenis.Text = "Kredit" Then
ActiveCell.Offset(0, 3).Select
ActiveCell.Value = jml.Text

61 HALAMAN
Membuat Aplikasi Akuntansi

ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "


bingkai_ju
ActiveCell.Offset(0, -1).Select
ActiveCell.Value = 0
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_ju
End If
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Range("a1").Select
End
End Sub

*Mengisi data pilihan pada combo box kode dan tipe


Private Sub UserForm_Initialize()
kode.RowSource = "coa!f11:f140"
jenis.AddItem "Debit"
jenis.AddItem "Kredit"
End Sub

MEMBUAT
NERACA LAJUR
Neraca lajur terdiri dari 1 (satu) bagian saja, yaitu bagian sheet. Neraca lajur yang dibuat
pada contoh ini adalah neraca lajur 10 (sepuluh) kolom, yang terdiri dari Neraca Saldo,
Penyesuaian, Neraca Saldo Setelah penyesuaian, Rugi Laba dan Neraca. Untuk lebih
jelasnya dapat anda diperhatikan desain sheet Neraca Lajur seperti pada Gambar dibawah.
Dengan default sheet Neraca Lajur adalah tidak ditampilkan atau disembunyikan.

Neraca lajur secara otomatis terisi pada saat memasukkan nomor dan nama perkiraan
pada sheet COA

62 HALAMAN
Membuat Aplikasi Akuntansi

Menambah Tombol Perintah pada Sheet Neraca Lajur.


Ada tiga tombol perintah dalam sheet Neraca Lajur, yaitu Ke-Menu, Preview dan Cetak.
Cara pembuatan dan mengisi tombol perintah sama seperti pada bagian lainnya.
Sedangkan kode program untuk masing-masing tombol dapat anda ketikkan sebagai
berikut:

*Isi tombol Cetak


Private Sub cetak_Click()
Range("a6").Select
menu.Visible = False
preview.Visible = False
cetak.Visible = False
Range(ActiveCell, ActiveCell.End(xlDown)).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
ActiveSheet.PrintOut
Range("a1").Select
menu.Visible = True
preview.Visible = True
cetak.Visible = True
ActiveSheet.PageSetup.PrintArea = Clear
End Sub

*Isi tombol Ke Menu


Private Sub menu_Click()

63 HALAMAN
Membuat Aplikasi Akuntansi

ActiveWorkbook.Unprotect
ActiveSheet.Unprotect
Sheets("Menu").Visible = True
Sheets("COA").Visible = False
Sheets("Jurnal").Visible = False
Sheets("Buku Besar").Visible = False
Sheets("Jurnal Penyesuaian").Visible = False
Sheets("Neraca Lajur").Visible = False
Sheets("Rugi Laba").Visible = False
Sheets("Perubahan Modal").Visible = False
Sheets("Neraca").Visible = False
ActiveWindow.DisplayWorkbookTabs = False
ActiveWorkbook.Protect Structure:=True, Windows:=False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

*Isi tombol Preview


Private Sub preview_Click()
Range("a6").Select
menu.Visible = False
preview.Visible = False
cetak.Visible = False
Range(ActiveCell, ActiveCell.End(xlDown).CurrentRegion).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.PaperSize = xlPaperLegal
.LeftMargin = 0.25
.RightMargin = 0.25
.CenterHorizontally = True
.CenterVertically = True
.PrintTitleRows = ActiveSheet.Rows(10).Address
.Zoom = False

64 HALAMAN
Membuat Aplikasi Akuntansi

.FitToPagesTall = 1
.FitToPagesWide = 1
End With
Selection.PrintPreview
Range("a1").Select
menu.Visible = True
preview.Visible = True
cetak.Visible = True
ActiveSheet.PageSetup.PrintArea = Clear
End Sub

*Isi perintah pada saat Worksheet aktif


Private Sub Worksheet_Activate()
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Range("A11").Select
End Sub

MEMBUAT
LAPORAN LABA RUGI
Laporan Rugi Laba terdiri dari 1 (satu) bagian sheet saja. Isi dari Laporan Rugi Laba
pada perusahaan JASA DAN DAGANG berbeda. Laporan Rugi Laba pada perusahaan JASA
dapat terdiri dari 3 (tiga) kolom, sedangkan pada perusahaan DAGANG dapat terdiri dari 4
(empat) kolom. Untuk jumlah barisnya tergantung dari jumlah akun yang digunakan dalam
Rugi Laba. Sheet Laporan Rugi Laba nilai defaultnya disembunyikan.
Rumus mengisi perkiraan Pendapatan usaha
='NERACA LAJUR'!B27
(Rumus ini dapat disalin ke bawah, jika perkiraan pendapatn lebih dari 1 (satu) dan
letaknya berurutan)
Rumus mengisi perkiraan Beban Usaha
='NERACA LAJUR'!B28
(Copy atau salin rumus ke bawah sesuai dengan jumlah perkiraan Beban usaha yang
terdapat dalam Neraca Lajur)

65 HALAMAN
Membuat Aplikasi Akuntansi
Rumus Pendapatan
='NERACA LAJUR'!J27
Rumus Beban usaha
='NERACA LAJUR'!I28
(Salin rumus sampai Beban Usaha yang terakhir)
Rumus Laba Bersih Sebelum Pajak
=C13-C15
(Didapat dari Pendapatan dikurangi Jumlah Beban Usaha)
Rumus Beban Pajak Penghasilan
Ketentuan Pajak Penghasilan untuk badan usaha adalah sebagai berikut:

Ket = PKP merupakan Penghasilan Kena Pajak yang didapat dari penghasilan Kotor
dikurangi dengan biaya yang dikeluarkan oleh perusahaan.
Rumus Beban Pajak Penghasilan Sebagai berikut:
=IF(C32<0;0;IF(C32<4800000000;C32*1%;IF(C32<=50000000000;(0,25-(600000000*C13))
*C32;25%*C32)))
Rumus Laba Bersih Setelah Pajak
=E32-E33
(Didapat dari laba Sebelum Pajak Dikurangi Beban Pajak Penghasilan)
Sedangkan rumus pada laporan rugi laba perusahaan dagang dapat anda lihat pada
file contoh yang terdapat dalam CD Penyerta.

Catatan

Setelah semua rumus selesai dimasukkan, selanjutnya format sel yang berisi rumus
menggunakan format Number-Custom dengan langkah sebagai berikut:
BLok atau pilih sel yang akan diformat pada tabel Rugi Laba.
Klik tombol dialog group Number, sehingga akan ditampilkan kotak dialog Format-
Cells-Number.
Pada bagian kategori pilih Custom dan pad daftar Type pilih format seperti dibawah:
_-Rp* #.##0,00_-;-Rp* #.##0,00_-;_-Rp* "-"??_-;_-@_-
Bentuk format ini digunakan untuk memformat angka atau bilangan positif, negatif, nol
(0) dan teks.

66 HALAMAN
Membuat Aplikasi Akuntansi
Klik tombol OK.

Laporan Rugi Laba Perusahaan Jasa

67 HALAMAN
Membuat Aplikasi Akuntansi

Menambah Tombol Perintah pada Sheet Rugi Laba.


Dalam sheet Rugi Laba terdapat 3 (tiga) tombol perintah, yaitu Ke-Menu, Preview, dan
Cetak. Cara pembuatan dan mengisi tombol perintah sama seperti pada bagian lainnya,
sedangkan untuk mengisi masing-masing tombol dapat diketikkan kode program sebagai
berikut:

*Isi tombol Cetak


Private Sub cetak_Click()
Range("a6").Select
menu.Visible = False
preview.Visible = False
cetak.Visible = False
Range(ActiveCell, ActiveCell.End(xlDown).End(xlDown).CurrentRegion).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
ActiveSheet.PrintOut
Range("a1").Select
ActiveSheet.PageSetup.PrintArea = Clear
menu.Visible = True
preview.Visible = True
cetak.Visible = True
End Sub

*Isi tombol Ke-Menu


Private Sub menu_Click()
ActiveWorkbook.Unprotect
Sheets("Menu").Visible = True
Sheets("COA").Visible = False
Sheets("Jurnal").Visible = False
Sheets("Buku Besar").Visible = False
Sheets("Jurnal Penyesuaian").Visible = False
Sheets("Neraca Lajur").Visible = False
Sheets("Rugi Laba").Visible = False
Sheets("Perubahan Modal").Visible = False
Sheets("Neraca").Visible = False

68 HALAMAN
Membuat Aplikasi Akuntansi

ActiveWindow.DisplayWorkbookTabs = False
ActiveWorkbook.Protect Structure:=True, Windows:=False
End Sub

*Isi tombol Preview


Private Sub preview_Click()
ActiveSheet.Unprotect
Range("a6").Select
menu.Visible = False
preview.Visible = False
cetak.Visible = False
Range(ActiveCell, ActiveCell.End(xlDown).End(xlDown).CurrentRegion).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
With ActiveSheet.PageSetup
.Orientation = xlPortrait
.PaperSize = xlPaperLegal
.CenterHorizontally = True
.CenterVertically = False
End With
Selection.PrintPreview
Range("a1").Select
ActiveSheet.PageSetup.PrintArea = Clear
menu.Visible = True
preview.Visible = True
cetak.Visible = True
End Sub

*Isi perintah pada saat worksheet aktif


Private Sub Worksheet_Activate()
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

69 HALAMAN
Membuat Aplikasi Akuntansi

MEMBUAT
LAPORAN PERUBAHAN MODAL
Sama halnya dengan Rugi Laba, Laporan Perubahan Modal juga terdiri dari 1 (satu)
bagian sheet saja. Bentuk table Laporan Perubahan Modal dapat anda lihat pada gambar
dibawah ini:

Pengisian kolom pada Laporan Perubahan Modal bersumber dari COA dan Neraca Lajur.
Rumus yang dimasukkan dalam Laporan Perubahan Modal adalah sebagai berikut:
Rumus Modal Awal
=COA!D24
Rumus Laba Bersih
=NERACA LAJUR!I38
Rumus Prive
=NERACA LAJUR!K25
Rumus Penambahan / Pengurangan Modal
=B11-B12
(didapat Dari pengurangan antara Laba Bersih dengan Prive)
Rumus Modal Akhir
=C9+C13

Menambah Tombol Perintah pada Sheet Perubahan Modal


Pada sheet Perubahan Modal juga terdapat 3 tombol perintah yaitu Ke Menu, Preview dan
Cetak. Cara pembuatan dan mengisi tombol perintah sama seperti pada bagian lainnya.
Sedangkan kode program untuk masing-masing tombol perintah adalah sebagai berikut:

70 HALAMAN
Membuat Aplikasi Akuntansi

*Isi tombol Cetak


Private Sub cetak_Click()
Range("a6").Select
menu.Visible = False
preview.Visible = False
cetak.Visible = False
Range(ActiveCell, ActiveCell.End(xlDown)).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
ActiveSheet.PrintOut
Range("a1").Select
menu.Visible = True
preview.Visible = True
cetak.Visible = True
ActiveSheet.PageSetup.PrintArea = Clear
End Sub

*Isi tombol Ke Menu


Private Sub menu_Click()
ActiveWorkbook.Unprotect
Sheets("Menu").Visible = True
Sheets("COA").Visible = False
Sheets("Jurnal").Visible = False
Sheets("Buku Besar").Visible = False
Sheets("Jurnal Penyesuaian").Visible = False
Sheets("Neraca Lajur").Visible = False
Sheets("Rugi Laba").Visible = False
Sheets("Perubahan Modal").Visible = False
Sheets("Neraca").Visible = False
ActiveWindow.DisplayWorkbookTabs = False
ActiveWorkbook.Protect Structure:=True, Windows:=False
End Sub

*Isi tombol Preview

71 HALAMAN
Membuat Aplikasi Akuntansi

Private Sub preview_Click()


Range("a6").Select
menu.Visible = False
preview.Visible = False
cetak.Visible = False
Range(ActiveCell, ActiveCell.End(xlDown)).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
With ActiveSheet.PageSetup
.Orientation = xlPortrait
.PaperSize = xlPaperLegal
.CenterHorizontally = True
.CenterVertically = False
End With
Selection.PrintPreview
Range("a1").Select
menu.Visible = True
preview.Visible = True
cetak.Visible = True
ActiveSheet.PageSetup.PrintArea = Clear
End Sub

*Isi perintah pada saat worksheet aktif


Private Sub Worksheet_Activate()
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

MEMBUAT
NERACA
Neraca juga terdiri dari 1 (satu) bagian sheet saja. Bentuk table Neraca terdiri dari 4
kolom, yaitu Kode, Keterangan, Debet dan Kredit. Sedangkan sumber datanya diambilkan
dari Neraca Lajur. Untuk desain sheet Neraca dapat dilihat pada gambar dibawah ini:

72 HALAMAN
Membuat Aplikasi Akuntansi

Rumus kolom Kode


=IF(COA!A11<>””,COA!A11””)
Rumus kolom Keterangan
=IF(COA!B11<>””,COA!B11””)
Rumus kolom Debet
=’NERACA LAJUR’!K11
Rumus kolom Kredit
=’NERACA LAJUR’!L11
Rumus Laba Usaha
=IF(D180>C180;D180-C180;0)
(Khusus kolom Debet)
=IF(C180>D180;C180-D180;0)
(Khusus kolom kredit)

Menambah Tombol Perintah pada Sheet Neraca


Sheet Neraca mempunyai 3 tombol perintah, yaitu Ke Menu, Preview dan Cetak. Cara
pembuatan dan mengisi tombol perintah juga sama seperti pada bagian lainnya.
Sedangkan kode program untuk masing-masing tombol perintah adalah sebagai berikut:

73 HALAMAN
Membuat Aplikasi Akuntansi

*Isi tombol Cetak


Private Sub cetak_Click()
Range("a6").Select
menu.Visible = False
preview.Visible = False
cetak.Visible = False
Range(ActiveCell, ActiveCell.End(xlDown)).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
ActiveSheet.PrintOut
Range("a1").Select
menu.Visible = True
preview.Visible = True
cetak.Visible = True
ActiveSheet.PageSetup.PrintArea = Clear
End Sub

*Isi tombol Ke Menu


Private Sub menu_Click()
ActiveWorkbook.Unprotect
ActiveSheet.Unprotect
Range("a9").Select
'ActiveCell.End(xlDown).Select
'Range(ActiveCell, ActiveCell.Offset(-2, 2)).Select
'Selection.Rows.Delete
'Range(Selection, Selection.End(xlUp)).Select
'Selection.Rows.Hidden = False
Sheets("Menu").Visible = True
Sheets("COA").Visible = False
Sheets("Jurnal").Visible = False
Sheets("Buku Besar").Visible = False
Sheets("Jurnal Penyesuaian").Visible = False
Sheets("Neraca Lajur").Visible = False
Sheets("Rugi Laba").Visible = False

74 HALAMAN
Membuat Aplikasi Akuntansi

Sheets("Perubahan Modal").Visible = False


Sheets("Neraca").Visible = False
ActiveWindow.DisplayWorkbookTabs = False
ActiveWorkbook.Protect Structure:=True, Windows:=False
'frm_utama.Show
End Sub

*Isi tombol Preview


Private Sub preview_Click()
Range("a6").Select
menu.Visible = False
preview.Visible = False
cetak.Visible = False
Range(ActiveCell, ActiveCell.End(xlDown)).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
With ActiveSheet.PageSetup
.Orientation = xlPortrait
.PaperSize = xlPaperLegal
.CenterHorizontally = True
.CenterVertically = False
End With
Selection.PrintPreview
Range("a1").Select
menu.Visible = True
preview.Visible = True
cetak.Visible = True
ActiveSheet.PageSetup.PrintArea = Clear
End Sub

*Isi perintah pada saat worksheet aktif


Private Sub Worksheet_Activate()
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Range("A10").Select

75 HALAMAN
Membuat Aplikasi Akuntansi

'ActiveWindow.FreezePanes = True
End Sub

MEMBUAT
SHEET MENU
Sheet Menu merupakan tampilan sheet utama dari aplikasi akuntansi Excel. Sheet ini
berfungsi sebagai navigasi atau petunjuk dalam mengerjakan Akuntansi Excel secara
berurutan. Sheet menu berisi beberapa tombol perintah dan objek sebagai penunjang
tampilan.

Mendesain Sheet Menu


Sheet menu terdiri dari :
Tombol-tombol perintah yang sama seperti pada bagian-bagian sheet Jurnal Umum,
Buku Besar adan sebagainya.
Objek WordArt untuk menuliskan Judul.
Objek Arrow untuk membuat tanda panah

Mengisi Tombol Perintah Pada Sheet Menu


Dalam sheet menu terdapat 9 (Sembilan) tombol perintah, yaitu Info, COA, Jurnal
Umum, Buku Besar, Jurnal Penyesuaian, Neraca Lajur, Rugi Laba, Perubahan Modal,
Perubahan Modal dan Neraca. Sebelum mengetikkan kode program untuk mengisi tombol
perintah pada sheet Menu, maka sisipkan sebuah Module pada jendela sheet Menu, maka -

76 HALAMAN
Membuat Aplikasi Akuntansi

klik menu Insert → Module, kemudian diketikkan kode program pada jendela Visual Basic
Module1 sebagai berikut:

S*Isi prosedur bingkai jurnal


Public Sub bingkai_ju()
With ActiveCell.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 1
.Weight = xlMedium
End With
With ActiveCell.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 1
.Weight = xlMedium
End With
End Sub

*Isi prosedur bingkai neraca


Public Sub bingkai_nl()
With Selection.Font
.Bold = True
.Size = 11
End With
With Selection.Borders
.LineStyle = xlDouble
.ColorIndex = 1
End With
Selection.Interior.ColorIndex = 48
End Sub

*Isi tombol Chart Of Account


Sub coa()
ActiveWorkbook.Unprotect
ActiveWindow.DisplayWorkbookTabs = True

77 HALAMAN
Membuat Aplikasi Akuntansi

Sheets("COA").Visible = True
Sheets("Menu").Visible = False
Sheets("Jurnal").Visible = False
Sheets("Buku Besar").Visible = False
Sheets("Jurnal Penyesuaian").Visible = False
Sheets("Neraca Lajur").Visible = False
Sheets("Rugi Laba").Visible = False
Sheets("Perubahan Modal").Visible = False
Sheets("Neraca").Visible = False
Sheets("coa").Select
Range("A1").Select
tambah = MsgBox("Tambah data?", vbYesNo)
If tambah = vbYes Then
frm_COA.Show
Else
Range("a9").Select
End If
End Sub

*Isi tombol Info Perusahaan


Sub info()
ActiveWorkbook.Unprotect
Sheets("Menu").Visible = True
Sheets("COA").Visible = False
Sheets("Jurnal").Visible = False
Sheets("Buku Besar").Visible = False
Sheets("Jurnal Penyesuaian").Visible = False
Sheets("Neraca Lajur").Visible = False
Sheets("Rugi Laba").Visible = False
Sheets("Perubahan Modal").Visible = False
Sheets("Neraca").Visible = False
ActiveWindow.DisplayWorkbookTabs = False

78 HALAMAN
Membuat Aplikasi Akuntansi

frm_info.Show
End Sub

*Isi tombol jurnal umum


Sub jum()
ActiveWorkbook.Unprotect
ActiveWindow.DisplayWorkbookTabs = True
Sheets("Jurnal").Visible = True
Sheets("Menu").Visible = False
Sheets("COA").Visible = False
Sheets("Buku Besar").Visible = False
Sheets("Jurnal Penyesuaian").Visible = False
Sheets("Neraca Lajur").Visible = False
Sheets("Rugi Laba").Visible = False
Sheets("Perubahan Modal").Visible = False
Sheets("Neraca").Visible = False
Sheets("Jurnal").Activate
ActiveSheet.Unprotect
Range("A10").Select
ActiveCell.End(xlDown).Select
If ActiveCell.Value <> "Jumlah" Then
frm_JU.Show
Else
Range("a6").Select
ActiveSheet.Unprotect
End If
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

*Isi tombol Jurnal Penyesuaian


Sub jup()
ActiveWorkbook.Unprotect

79 HALAMAN
Membuat Aplikasi Akuntansi

ActiveWindow.DisplayWorkbookTabs = True
Sheets("Jurnal Penyesuaian").Visible = True
Sheets("Menu").Visible = False
Sheets("COA").Visible = False
Sheets("Jurnal").Visible = False
Sheets("Buku Besar").Visible = False
Sheets("Neraca Lajur").Visible = False
Sheets("Rugi Laba").Visible = False
Sheets("Perubahan Modal").Visible = False
Sheets("Neraca").Visible = False
Sheets("Jurnal Penyesuaian").Activate
ActiveSheet.Unprotect
Range("A10").Select
ActiveCell.End(xlDown).Select
If ActiveCell.Value <> "Jumlah" Then
frm_JP.Show
Else
Range("a6").Select
ActiveSheet.Unprotect
End If
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

*Isi tombol Buku Besar


Sub besar()
ActiveWorkbook.Unprotect
ActiveWindow.DisplayWorkbookTabs = True
Sheets("Buku Besar").Visible = True
Sheets("Menu").Visible = False
Sheets("COA").Visible = False
Sheets("Jurnal").Visible = False
Sheets("Jurnal Penyesuaian").Visible = False

80 HALAMAN
Membuat Aplikasi Akuntansi

Sheets("Neraca Lajur").Visible = False


Sheets("Rugi Laba").Visible = False
Sheets("Perubahan Modal").Visible = False
Sheets("Neraca").Visible = False
Sheets("Buku Besar").Activate
Range("A1").Select
frm_bkbesar.Show
End Sub

*Isi tombol Neraca Lajur


Sub lajur()
ActiveWorkbook.Unprotect
ActiveWindow.DisplayWorkbookTabs = True
Sheets("Neraca Lajur").Visible = True
Sheets("Menu").Visible = False
Sheets("COA").Visible = False
Sheets("Jurnal").Visible = False
Sheets("Buku Besar").Visible = False
Sheets("Jurnal Penyesuaian").Visible = False
Sheets("Rugi Laba").Visible = False
Sheets("Perubahan Modal").Visible = False
Sheets("Neraca").Visible = False
Sheets("Neraca Lajur").Activate
ActiveSheet.Unprotect
Range("A11").Select
ActiveCell.End(xlDown).Select
If ActiveCell.Value <> "J U M L A H" Then
tanya = MsgBox("Neraca Lajur akan ditutup?", vbYesNo, "Penutupan Neraca Lajur")
If tanya = vbYes Then
ActiveCell.Offset(1, 0).Select
Range(ActiveCell, ActiveCell.Offset(0, 1)).Select
Selection.MergeCells = True

81 HALAMAN
Membuat Aplikasi Akuntansi

Selection.Value = "J U M L A H"


ActiveCell.HorizontalAlignment = xlCenter
bingkai_nl
ActiveCell.Offset(-1, 1).Select
Do While ActiveCell.Value <> ""
jml = Range(ActiveCell, ActiveCell.End(xlUp).Offset(2, 0)).Select
Selection.Name = "jml"
tot = Application.Sum(Range("jml"))
ActiveCell.End(xlDown).Offset(1, 0).Select
ActiveCell.Value = tot
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_nl
ActiveCell.Offset(-1, 1).Select
Loop
ActiveCell.Offset(2, -5).Select
ActiveCell.Formula = "=if(r[-1]c[2]>r[-1]c[1],""Laba Usaha"",""Rugi Usaha"")"
ActiveCell.HorizontalAlignment = xlCenter
bingkai_nl
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=r[-1]c[1]-r[-1]c"
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
ActiveCell.Font.Bold = True
Range(ActiveCell, ActiveCell.Offset(0, 2)).Select
bingkai_nl
ActiveCell.Offset(0, 3).Select
ActiveCell.Value = ActiveCell.Offset(0, -3)
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_nl
ActiveCell.Offset(1, -4).Select
ActiveCell.Value = "J U M L A H"
ActiveCell.HorizontalAlignment = xlCenter
bingkai_nl

82 HALAMAN
Membuat Aplikasi Akuntansi

ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=R[-2]C+R[-1]C"
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_nl
ActiveCell.AutoFill Range(ActiveCell, ActiveCell.Offset(0, 3)), xlFillCopy
End If
Else
MsgBox "Neraca Lajur sudah ditutup!", vbInformation
Range("a6").Select
ActiveSheet.Unprotect
End If
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

*Isi tombol Rugi Laba


Sub lab_rug()
ActiveWorkbook.Unprotect
ActiveWindow.DisplayWorkbookTabs = True
Sheets("Rugi Laba").Visible = True
Sheets("Menu").Visible = False
Sheets("COA").Visible = False
Sheets("Jurnal").Visible = False
Sheets("Buku Besar").Visible = False
Sheets("Jurnal Penyesuaian").Visible = False
Sheets("Neraca Lajur").Visible = False
Sheets("Perubahan Modal").Visible = False
Sheets("Neraca").Visible = False
Sheets("Rugi Laba").Activate
Range("A1").Select
ActiveSheet.Unprotect
End Sub

83 HALAMAN
Membuat Aplikasi Akuntansi

*Isi tombol Perubahan Modal


Sub modal()
ActiveWorkbook.Unprotect
ActiveWindow.DisplayWorkbookTabs = True
Sheets("Perubahan Modal").Visible = True
Sheets("Menu").Visible = False
Sheets("COA").Visible = False
Sheets("Jurnal").Visible = False
Sheets("Buku Besar").Visible = False
Sheets("Jurnal Penyesuaian").Visible = False
Sheets("Neraca Lajur").Visible = False
Sheets("Rugi Laba").Visible = False
Sheets("Neraca").Visible = False
Sheets("Perubahan Modal").Activate
Range("A1").Select
End
End Sub

*Isi tombol Neraca


Sub neraca()
ActiveWorkbook.Unprotect
ActiveWindow.DisplayWorkbookTabs = True
Sheets("Neraca").Visible = True
Sheets("Menu").Visible = False
Sheets("COA").Visible = False
Sheets("Jurnal").Visible = False
Sheets("Buku Besar").Visible = False
Sheets("Jurnal Penyesuaian").Visible = False
Sheets("Neraca Lajur").Visible = False
Sheets("Rugi Laba").Visible = False
Sheets("Perubahan Modal").Visible = False
Sheets("Neraca").Activate

84 HALAMAN
Membuat Aplikasi Akuntansi

ActiveSheet.Unprotect
Range("a9").Select
ActiveCell.End(xlDown).Select
If Range("a180").Value <> "J U M L A H" Then
Range("a180:b180").Select
Selection.MergeCells = True
Selection.Value = "J U M L A H"
ActiveCell.HorizontalAlignment = xlCenter
ActiveCell.Font.Bold = True
bingkai_nl
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=SUM(C10:C179)"
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
ActiveCell.Font.Bold = True
bingkai_nl
ActiveCell.AutoFill Range(ActiveCell, ActiveCell.Offset(0, 1)), xlFillCopy
bingkai_nl
ActiveCell.Offset(0, -1).Select
ActiveCell.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
Range(Selection, Selection.End(xlDown).Offset(-1, 0)).Select
Selection.EntireRow.Hidden = True
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = "Laba/Rugi Usaha"
Range(ActiveCell, ActiveCell.Offset(0, 1)).Select
Selection.MergeCells = True
ActiveCell.HorizontalAlignment = xlCenter
ActiveCell.Font.Bold = True
bingkai_nl
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=if(d180>c180,d180-c180,0)"

85 HALAMAN
Membuat Aplikasi Akuntansi

ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "


bingkai_nl
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=if(c180>d180,c180-d180,0)"
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_nl
ActiveCell.Offset(1, -3).Select
ActiveCell.Value = "J U M L A H"
Range(ActiveCell, ActiveCell.Offset(0, 1)).Select
Selection.MergeCells = True
ActiveCell.HorizontalAlignment = xlCenter
bingkai_nl
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=SUM(C180:C181)"
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_nl
ActiveCell.Offset(0, 1).Select
ActiveCell.Formula = "=SUM(d180:d181)"
ActiveCell.NumberFormat = "_ ""Rp.""* #,##0.00_ "
bingkai_nl
Else
MsgBox "Neraca sudah ditutup", vbInformation
Range("a6").Select
ActiveSheet.Unprotect
End If
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

*Isi tombol Ke Menu


Sub menu()
ActiveWorkbook.Unprotect
Sheets("Menu").Visible = True

86 HALAMAN
Membuat Aplikasi Akuntansi

Sheets("COA").Visible = False
Sheets("Jurnal").Visible = False
Sheets("Buku Besar").Visible = False
Sheets("Jurnal Penyesuaian").Visible = False
Sheets("Neraca Lajur").Visible = False
Sheets("Rugi Laba").Visible = False
Sheets("Perubahan Modal").Visible = False
Sheets("Neraca").Visible = False
ActiveWindow.DisplayWorkbookTabs = False
ActiveWorkbook.Protect Structure:=True, Windows:=False
End Sub

Sedangkan untuk mengisi tombol-tombol perintah yang ada pada sheet Menu sebagai
berikut:
Klik kanan pada tombol yang akan diisi perintah, kemudian pilih Assign Macro, sehingga
akan ditampilkan kotak dialog Assign Macro seperti pada Gambar dibawah

87 HALAMAN
Membuat Aplikasi Akuntansi

Kemudian pilih salah satu nama prosedur yang akan disisipkan ke dalam tombol,
kemudian pilih ok.
Lakukan langkah yang sama untuk tombol yang lainnya dan sisipkan prosedur sesuai
dengan tombol masing-masing.

Selain mengisi kode program pad tombol-tombolyang terdapat dalam sheet Menu, pada
saat Workbook aktif atau dibuka juag diisi dengan kode program. Untuk mengisi kode
program pada workbook aktif dapat anda lakukan dengan langkah sebagai berikut:
Buka jendela Visual Basic Editor dengan cara tekan tombol Alt + F11 atau klik tombol
Visual Basic pada tab Develover group Code.
Kemudian pada bagian jendela Project Explorer klik dua kali pada This Workbook,
sehingga akan ditampilkan jendela Code untuk This Workbook, sehingga akan
ditampilkan jendela Code untuk This Workbook.
Pada bagian Object Pilih Workbook dan pada bagian Event (Procedure) pilih Open,
sehingga akan ditampilkan prosedur Workbook_Open.
Isi kode program didalam prosedur Workbook_Open sebagai berikut:

*Isi perintah pada saat Workbook dibuka


Private Sub Workbook_Open()
ActiveWorkbook.Unprotect
ActiveWindow.DisplayWorkbookTabs = True
Sheets("Menu").Visible = True
Sheets("COA").Visible = False
Sheets("Jurnal").Visible = False
Sheets("Buku Besar").Visible = False
Sheets("Jurnal Penyesuaian").Visible = False
Sheets("Neraca Lajur").Visible = False
Sheets("Rugi Laba").Visible = False
Sheets("Perubahan Modal").Visible = False
Sheets("Neraca").Visible = False
End Sub

88 HALAMAN
Membuat Aplikasi Akuntansi

MENYIMPAN
FILE APLIKASI
Setelah semua lembar kerja yang digunakan dalam aplikasi sudah selesai dibuat, maka
langkah selanjutnya adalah menyimpan lembar kerja tersebut. Karena file Aplikasi
Akuntansi juga berisi perintah-perintah macro, maka penyimpanannya tidak seperti
menyimpan file Microsoft Excel biasa.

Berikut langkah untuk menyimpan file Aplikasi Akuntansi Macro VBA.


Klik menu File dan pilih Save atau klik tombol Save pada Quick Acces Toolbar. Sehingga
akan ditampilkan backstage Save As, kemudian tekan tombol Browse untuk
menampilkan kotak dialog Save As, seperti pada gambar dibawah:

Tentukan lokasi folder untuk menyimpan file dan ketikkan nama file pada bagian File
Name, sebagai contoh beri nama PROGRAM AKUNTANSI.
Pada bagian Save as type pilih Excel Macro-Enabled Workbook, untuk menyimpan file
Microsoft Excel berikut Macro-nya.
Kemudian klik tombol Save untuk menyimpannya. Hasil dari file aplikasi ini berakhiran
xlsm (file Microsoft Excel Macro).

89 HALAMAN
DAFTAR PUSTAKA

Pura, Rahman, S.E. 2013, Pengantar Akuntansi (Pendekatan Siklus Akuntansi).


Jakarta: Penerbit Erlangga
Tofik, Moch., S.E. 2008. Memnbuat Aplikasi Akuntansi dengan Microsoft Excel
2007. Jakarta: Media Kita
Madcoms, 2017, Aplikasi Akuntansi Dengan Microsoft VBA (Macro).
Yogyakarta: Penerbi ANDI

Anda mungkin juga menyukai