The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

Buku Panduan Pembuatan Aplikasi Akuntansi

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by ihsan, 2022-09-03 08:56:51

Buku Panduan Pembuatan Aplikasi Akuntansi

Buku Panduan Pembuatan Aplikasi Akuntansi

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 06
10
Membuat Userform Info Perusahaan 20
Membuat Chart Of Account (COA) 36
Membuat Jurnal Umum 48
Membuat Buku Besar 62
Membuat Jurnal Penyesuaian 65
Membuat Neraca Lajur 70
Membuat Laporan Laba Rugi 72
Membuat Laporan Perubahan Modal 76
Membuat Neraca 89
Membuat Sheet Menu
Menyimpan File Aplikasi

Bab 1

Mengenal
Macro Excel

MENGENAL Mengenal Macro Excel
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


Click to View FlipBook Version