Apa hubunganya cerita saya dengan menghitung Penghasilan dan pengeluaran ? sebenarnya tidak ada korelasinya antara menikah dengan menghitung Penghasilan dan pengeluaran, karena tanpa menikahpun orang bisa mempunyai pengahsilan dan pengeluaran, Penghasilan adalah pendapatan atau upah seseorang yang telah menunaikan kewajibannya sedangkan yang namanya pengeluaran merupakan aktifitas seseorang yang membelanjakan uang dari penghasilan tersebut. Hasilnya akan bernilai positif apabila penghasilan lebih besar dari pada pengeluaran dan hasilnya akan negatif bila pengeluaran lebih besar dari penghasilan
Untuk mengontrol Penghasilan dan pengeluaran maka anda memerlukan buku catatan dan itu merupakan hal kuno, akan lebih elegan jika anda mempunyai aplikasi untuk mengontrol penghasilan dan pengeluaran supaya pengeluaran anda terkedali dengan baik
Menghitung Penghasilan dan pengeluaran
Langsung saja berikut ini cara membuat aplikasi untuk mengontrol pengahsilan (Pendapatan) dan Pengeluaran (Belanja), syarat utamanya adalah anda punya komputer berbasis Windows atau Mac bersistem 32 bit ataupun 64 bit yang paling penting lagi komputer anda sudah terinstal Microsoft Excel Buka aplikasi Microsoft Excel
Buat tabel data pada sheet1, isikan pada Sel A1 = DATA PENGHASILAN DAN PENGELUARAN
Pada sel A2 = BULAN
Pada sel B2 = JUMLAH PENGELUARAN
Pada sel C2 = JUMLAH PENDAPATAN
Pada sel D2 = SISA
Lihat hasilnya sebagai berikut
Pada sel A3 sampai A14 isikan nama bulan mulai dari bulan JANUARI sampai DESEMBER
Sel A15 = Total
Sel B15 tuliskan fungsi =SUM(B3:B14)
Sel C15 tuliskan fungsi =SUM(C3:C14)
Sel D15 tuliskan fungsi =SUM(D3:D14)
Pada sel D3 sampai D14 isikan fungsi =C-B
Kenapa kali ini saya detail sekali ya tutorialnya ?? Tidak lebih dan tidak bukan adalah karena pengunjung blog Excelpro.id ini kebanyakan datang dari yang awam. Tapi jangan anggap enteng tutorial ini, karena pada pamungkasnya nanti saya akan kasih tips cara membuat grafik dan memasukanya kedalam userform, sehingga grafik bisa dilihat dengan userform
Kembali ke tabel DATA PENGHASILAN DAN PENGELUARAN, silahkan isi angka penghasilan di kolom D mulai dari C3 sampai C14, anda harus mengisinya dengan angka 0-9
Dan isikan total pengeluaran anda pada kolom B mulai dari sel B3 sampai B14, harap kolom ini juga dimasukan nilai angka 0-9 bukan huruf atau lambang atau simbol
Saya sendiri sudah selesai memasukan total pendapatan dan total pengeluaran lihat gambar dibawah ini
Total jumlah pengeluaran saya adalah 30.550.000 dan total pendapatan saya adalah 20.100.000 sehingga minus 10.450.000 kira kira saya harus pinja kemana untu menutupi minus 10.450.000 ini ?? karena saya cari digoogle juga tidak ketemu jawabanya :D14
Baiklah sampai disini anda telah berhasil membuat tabel data penghasilan dan pengeluaran, akan tetapi menurut saya ini baru permulaan dari perjalanan membuat tabel data pengahsilan dan pengeluaran
Menghitung Penghasilan dan pengeluaran
Diatas merupakan total pendapatan dan pengeluaran bulanan, bagaimana sekarang jika anda ingin mencatat pengelaran atau pedapatan anda secara harian ? maka ikuti terus tulisan ini sampai batas akhir. Sekarang buka halaman sheet2, kita akan membuat catatan penghasilan harian dan pengeluaran harian. Pada sel A1 isikan = TABEL DATA HARIAN
Pada sel A2 = NOMOR
Pada sel B2 = TANGGAL
Pada sel C2 = BULAN
Pada sel D2 = JUMLAH PEMASUKAN
Pada sel E2 = JUMLAH PENGELUARAN
Pada sel F2 = KETERANGAN
Setelah selesai membuat tabel dalam worksheet selanjutnya kita buat input data lewat Userform, dalam userform nantiya ada kolom berupa textbox untuk kolom Nomor kolom tanggal kolom Bulan Kolom jumlah pemasukan kolom jumlah pengeluaran dan yang terakhir kolom keterangan
Langsung saja masuk kejendela Visual Basic Editor (VBE), bagi anda yang awam apa itu Visual basic bisa lihat ulasanya disini
Dalam jendela VBE buat Userform dengan 6 kontrol Textbox, 6 kontrol label, dan 2 kontrol Commandbutton, lihat design Formnya dibawah ini
Setelah selesai mendisign Form, klik kanan pada mouse anda, pilih Vie Code
Pada jendela ini ada 2 kolom textbox yang haya boleh di isi angka, satu kolom tanggal dibuat otomatis mengikuti taggal komputer, kolom bulan dibuat otomatis mengikuti bulan dikomputer, kolom nomor urut dibuat otomatis sesuai posisi data
Cara membuat Textbox Fixed berisi angka
Cara membuat nomor urut otomatis
Pertama membuat nomor urut, ketikan kode macro ini kedalam jendela kode userform
Sub NomorUrut()
NomorUrut = Sheets("Sheet2").Cells(Sheets("Sheet2").Rows.Count, "A"). _
End(xlUp).Offset(0, 0).Row
TextBox1.Value = NomorUrut - 1
End Sub
Kedua membuat tanggal dan bulan otomatisNomorUrut = Sheets("Sheet2").Cells(Sheets("Sheet2").Rows.Count, "A"). _
End(xlUp).Offset(0, 0).Row
TextBox1.Value = NomorUrut - 1
End Sub
Sub WaktuSattIni()
TextBox2.Value = Date
TextBox3.Value = Format(Date, "mmmm")
End Sub
Ketiga membuat dua kolom pendapatan dan pengeluaran menjadi fixed angka TextBox2.Value = Date
TextBox3.Value = Format(Date, "mmmm")
End Sub
Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
Keempat membuat inputan angka menjadi bilangan desimal (bukan desimal tetapi diberi batas pemisah, haduh lupa namanya apa hahaha)Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub TextBox4_Change()
TextBox4 = Format(TextBox4, "#,##0")
End Sub
TextBox4 = Format(TextBox4, "#,##0")
End Sub
Private Sub TextBox5_Change()
TextBox5 = Format(TextBox5, "#,##0")
End Sub
TextBox5 = Format(TextBox5, "#,##0")
End Sub
Memanggil prosedur saat userform aktifitas
Private Sub UserForm_Activate()
Call NomorUrut
Call WaktuSattIni
Call WaktuSattIni
TextBox4 = 0
TextBox5 = 0
End Sub
Call NomorUrut
Call WaktuSattIni
Call WaktuSattIni
TextBox4 = 0
TextBox5 = 0
End Sub
Kalau digabungkan kode macro diatas akan menjadi seperti ini
Private Sub UserForm_Activate()
Call NomorUrut
Call WaktuSattIni
Call WaktuSattIni
TextBox4 = 0
TextBox5 = 0
End Sub
Sub NomorUrut()
NomorUrut = Sheets("Sheet2").Cells(Sheets("Sheet2").Rows.Count, "A"). _
End(xlUp).Offset(0, 0).Row
TextBox1.Value = NomorUrut - 1
End Sub
Sub WaktuSattIni()
TextBox2.Value = Date
TextBox3.Value = Format(Date, "mmmm")
End Sub
Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub TextBox4_Change()
TextBox4 = Format(TextBox4, "#,##0")
End Sub
Private Sub TextBox5_Change()
TextBox5 = Format(TextBox5, "#,##0")
End Sub
Call NomorUrut
Call WaktuSattIni
Call WaktuSattIni
TextBox4 = 0
TextBox5 = 0
End Sub
Sub NomorUrut()
NomorUrut = Sheets("Sheet2").Cells(Sheets("Sheet2").Rows.Count, "A"). _
End(xlUp).Offset(0, 0).Row
TextBox1.Value = NomorUrut - 1
End Sub
Sub WaktuSattIni()
TextBox2.Value = Date
TextBox3.Value = Format(Date, "mmmm")
End Sub
Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub TextBox4_Change()
TextBox4 = Format(TextBox4, "#,##0")
End Sub
Private Sub TextBox5_Change()
TextBox5 = Format(TextBox5, "#,##0")
End Sub
Baik saatnya membuat isian data, kita akan megisi tabel data yang ada di sheet2 dengan form ini, masukan kode macro dibawah ini kedalam Tombol atau Commandbutton Simpan
Private Sub CommandButton1_Click()
Set ws = Sheets("Sheet2")
BrsAkhr = ws.Cells(ws.Rows.Count, "A").End(xlUp).Offset(0, 0).Row
If TextBox1.Value = "" Then
MsgBox "Nomor belum diisi", _
vbOKOnly + vbCritical, "Simpan gagal"
TextBox1.SetFocus
Exit Sub
ElseIf TextBox2.Value = "" Then
MsgBox "Tanggal belum diisi", _
vbOKOnly + vbCritical, "Simpan gagal"
TextBox2.SetFocus
Exit Sub
ElseIf TextBox3.Value = "" Then
MsgBox "Bulan belum diisi", _
vbOKOnly + vbCritical, "Simpan gagal"
TextBox3.SetFocus
Exit Sub
End If
With ws
ws.Cells(BrsAkhr + 1, 1).Value = TextBox1.Value
ws.Cells(BrsAkhr + 1, 2).Value = TextBox2.Value
ws.Cells(BrsAkhr + 1, 3).Value = TextBox3.Value
ws.Cells(BrsAkhr + 1, 4).Value = CDbl(TextBox4)
ws.Cells(BrsAkhr + 1, 5).Value = CDbl(TextBox5)
End With
MsgBox "Data berhasil disimpan"
Call UserForm_Activate
End Sub
Kolom TextBox4 dan TextBox5 tidak boleh berisi blank (""), minimal harus ada angka 0, untuk berjaga jaga tambahkan kode macro On Error Resume Next, letakan diatas kode macro Set ws = Sheets("Sheet2")Set ws = Sheets("Sheet2")
BrsAkhr = ws.Cells(ws.Rows.Count, "A").End(xlUp).Offset(0, 0).Row
If TextBox1.Value = "" Then
MsgBox "Nomor belum diisi", _
vbOKOnly + vbCritical, "Simpan gagal"
TextBox1.SetFocus
Exit Sub
ElseIf TextBox2.Value = "" Then
MsgBox "Tanggal belum diisi", _
vbOKOnly + vbCritical, "Simpan gagal"
TextBox2.SetFocus
Exit Sub
ElseIf TextBox3.Value = "" Then
MsgBox "Bulan belum diisi", _
vbOKOnly + vbCritical, "Simpan gagal"
TextBox3.SetFocus
Exit Sub
End If
With ws
ws.Cells(BrsAkhr + 1, 1).Value = TextBox1.Value
ws.Cells(BrsAkhr + 1, 2).Value = TextBox2.Value
ws.Cells(BrsAkhr + 1, 3).Value = TextBox3.Value
ws.Cells(BrsAkhr + 1, 4).Value = CDbl(TextBox4)
ws.Cells(BrsAkhr + 1, 5).Value = CDbl(TextBox5)
End With
MsgBox "Data berhasil disimpan"
Call UserForm_Activate
End Sub
Terakhir membuat kode macro untuk tombol batal
Private Sub CommandButton2_Click()
Call UserForm_Activate
End Sub
Call UserForm_Activate
End Sub
Jika semua kode diatas digabung maka akan menghasilkan kode macro yang cukup panjang seperti ini
Private Sub UserForm_Activate()
Call NomorUrut'Excel Pro
Call WaktuSattIni'Excel Pro
Call WaktuSattIni'Excel Pro
TextBox4 = 0
TextBox5 = 0
End Sub
Sub NomorUrut()
NomorUrut = Sheets("Sheet2").Cells(Sheets("Sheet2").Rows.Count, "A"). _
End(xlUp).Offset(0, 0).Row
TextBox1.Value = NomorUrut - 1'Excel Pro
End Sub
Sub WaktuSattIni()
TextBox2.Value = Date'Excel Pro
TextBox3.Value = Format(Date, "mmmm")'Excel Pro
End Sub
Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub TextBox4_Change()
TextBox4 = Format(TextBox4, "#,##0")
End Sub
Private Sub TextBox5_Change()
TextBox5 = Format(TextBox5, "#,##0")
End Sub
Private Sub CommandButton1_Click()
Set ws = Sheets("Sheet2")
BrsAkhr = ws.Cells(ws.Rows.Count, "A").End(xlUp).Offset(0, 0).Row
If TextBox1.Value = "" Then
MsgBox "Nomor belum diisi", _
vbOKOnly + vbCritical, "Simpan gagal"'Excel Pro
TextBox1.SetFocus
Exit Sub
ElseIf TextBox2.Value = "" Then
MsgBox "Tanggal belum diisi", _
vbOKOnly + vbCritical, "Simpan gagal"'Excel Pro
TextBox2.SetFocus
Exit Sub
ElseIf TextBox3.Value = "" Then
MsgBox "Bulan belum diisi", _
vbOKOnly + vbCritical, "Simpan gagal"'Excel Pro
TextBox3.SetFocus
Exit Sub
End If
With ws
ws.Cells(BrsAkhr + 1, 1).Value = TextBox1.Value'Excel Pro
ws.Cells(BrsAkhr + 1, 2).Value = TextBox2.Value'Excel Pro
ws.Cells(BrsAkhr + 1, 3).Value = TextBox3.Value'Excel Pro
ws.Cells(BrsAkhr + 1, 4).Value = CDbl(TextBox4)'Excel Pro
ws.Cells(BrsAkhr + 1, 5).Value = CDbl(TextBox5)'Excel Pro
End With
MsgBox "Data berhasil disimpan"
Call UserForm_Activate
End Sub
Private Sub CommandButton2_Click()'Excel Pro
Call UserForm_Activate
End Sub
Call NomorUrut'Excel Pro
Call WaktuSattIni'Excel Pro
Call WaktuSattIni'Excel Pro
TextBox4 = 0
TextBox5 = 0
End Sub
Sub NomorUrut()
NomorUrut = Sheets("Sheet2").Cells(Sheets("Sheet2").Rows.Count, "A"). _
End(xlUp).Offset(0, 0).Row
TextBox1.Value = NomorUrut - 1'Excel Pro
End Sub
Sub WaktuSattIni()
TextBox2.Value = Date'Excel Pro
TextBox3.Value = Format(Date, "mmmm")'Excel Pro
End Sub
Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub TextBox4_Change()
TextBox4 = Format(TextBox4, "#,##0")
End Sub
Private Sub TextBox5_Change()
TextBox5 = Format(TextBox5, "#,##0")
End Sub
Private Sub CommandButton1_Click()
Set ws = Sheets("Sheet2")
BrsAkhr = ws.Cells(ws.Rows.Count, "A").End(xlUp).Offset(0, 0).Row
If TextBox1.Value = "" Then
MsgBox "Nomor belum diisi", _
vbOKOnly + vbCritical, "Simpan gagal"'Excel Pro
TextBox1.SetFocus
Exit Sub
ElseIf TextBox2.Value = "" Then
MsgBox "Tanggal belum diisi", _
vbOKOnly + vbCritical, "Simpan gagal"'Excel Pro
TextBox2.SetFocus
Exit Sub
ElseIf TextBox3.Value = "" Then
MsgBox "Bulan belum diisi", _
vbOKOnly + vbCritical, "Simpan gagal"'Excel Pro
TextBox3.SetFocus
Exit Sub
End If
With ws
ws.Cells(BrsAkhr + 1, 1).Value = TextBox1.Value'Excel Pro
ws.Cells(BrsAkhr + 1, 2).Value = TextBox2.Value'Excel Pro
ws.Cells(BrsAkhr + 1, 3).Value = TextBox3.Value'Excel Pro
ws.Cells(BrsAkhr + 1, 4).Value = CDbl(TextBox4)'Excel Pro
ws.Cells(BrsAkhr + 1, 5).Value = CDbl(TextBox5)'Excel Pro
End With
MsgBox "Data berhasil disimpan"
Call UserForm_Activate
End Sub
Private Sub CommandButton2_Click()'Excel Pro
Call UserForm_Activate
End Sub
Bahhhh panjang amat tutorialnya, hal seperti ini terkadang dicopas blogger lainya tanpa izin :(, tak apae lah yang penting tulisan ini bisa sampai ketangan manusia dan bermafaat bagi manusia
Ayo sekarag dicoba mengisi tabel data Pendapatan dan pengeluaran harian. Bagi yang awam silahkan baca cara memanggil userform kedalam worksheet
Menghitung Penghasilan dan pengeluaran
Anda yang sudah berhasil membuat input data kedalam tabel silahkan kembali ke sheet1, kita akan buat laporan jumlah pendapatan dan pengeluaran bulanan secara otomatis menggunakan SUMIF, SUMIF sudah pernah saya ulas pada link ini Memahami Cara kerja VlookupYang akan kita edit adalah dari kolom B mulai sel B3 sampai sel B14, dan kolom C mulai dari C3 sampai C14, kolom yang saya sebutkan ini akan kita tambahkan SUMIF degan kriteria tertentu
Kita mulai kolom B3 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A3;Sheet2!$E$3:$E$1000)
B4 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A4;Sheet2!$E$3:$E$1000)
B5 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A5;Sheet2!$E$3:$E$1000)
B6 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A6;Sheet2!$E$3:$E$1000)
B7 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A7;Sheet2!$E$3:$E$1000)
B8 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A8;Sheet2!$E$3:$E$1000)
B9 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A9;Sheet2!$E$3:$E$1000)
B10 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A10;Sheet2!$E$3:$E$1000)
B11 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A11;Sheet2!$E$3:$E$1000)
B12 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A12;Sheet2!$E$3:$E$1000)
B13 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A13;Sheet2!$E$3:$E$1000)
B14 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A14;Sheet2!$E$3:$E$1000)
Kita Kekolom C3 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A3;Sheet2!$D$3:$D$1000)
C4 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A4;Sheet2!$D$3:$D$1000)
C5 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A5;Sheet2!$D$3:$D$1000)
C6 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A6;Sheet2!$D$3:$D$1000)
C7 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A7;Sheet2!$D$3:$D$1000)
C8 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A8;Sheet2!$D$3:$D$1000)
C9 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A9;Sheet2!$D$3:$D$1000)
C10 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A10;Sheet2!$D$3:$D$1000)
C11 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A11;Sheet2!$D$3:$D$1000)
C12 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A12;Sheet2!$D$3:$D$1000)
C13 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A13;Sheet2!$D$3:$D$1000)
C14 isi dengan fungsi =SUMIF(Sheet2!$C$3:C1000;A14;Sheet2!$D$3:$D$1000)
Kita anggap pembuatan aplikasi ini sudah selesai, selanjutnya membuat grafik Penghasilan dan pengeluaran, dan pembuatan grafik Penghasilan dan pengeluaran saya pisah dipostingan mendatang, membuat Penghasilan dan pengeluaran dengan menampilkan grafik Penghasilan dan pengeluaran diuserform