Pepatah mengatakan: Banyak jalan menuju Roma, yang terbaik lah yang di depan.
Terima kasih Pak Sudarsono. Salam, Hendrik Karnadi ________________________________ From: jkssxls Sudarsono <[email protected]> To: Belajar-Excel Yahoo Groups <[email protected]> Sent: Wednesday, 25 January 2012, 13:58 Subject: RE: [belajar-excel] Fw: Program Laporan Keuangan dengan PivotTable Saya lebih memilih menggunakan ComboBox ActiveX daripada Form Control , karena lebih rapih tampilannya. Private Sub ComboBox2_Change() If ActiveSheet.Name = "DATA" Then ActiveCell = ComboBox2.Value ComboBox2.Visible = False End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) ComboBox2.Value = ActiveCell.Value ComboBox2.Visible = False 'agar tak tampil lagi jika sudah pilih item If Target.Count = 1 Then If Target.Column = 4 And Target.Row > 1 Then ComboBox2.Top = Target.Top ComboBox2.Left = Target.Left ComboBox2.Visible = True ComboBox2.DropDown End If End If End Sub ________________________________ To: [email protected] From: [email protected] Date: Wed, 25 Jan 2012 04:58:26 +0000 Subject: RE: [belajar-excel] Fw: Program Laporan Keuangan dengan PivotTable Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 5 Or Target.Column = 6 Then If WorksheetFunction.SumIf(Range("No_Bukti"), _ Cells(Target.Row, 2), Range("Debit")) <> _ WorksheetFunction.SumIf(Range("NO_Bukti"), _ Cells(Target.Row, 2), Range("Kredit")) Then Target.Select MsgBox "JUMLAH DEBIT dan KREDIT TIDAK SAMA" & _ vbCrLf & "Lihat No BUKTI WARNA MERAH", _ vbCritical + vbOKOnly, "P E S A N" End If End If End Sub pernyataan : If Target.Column = 5 And Target.Column = 6 Then jika mengisi kolom debet ( kolom ke 5 ) atau credit ( kolom ke 6 ) , maka lakukan pengecekan jumlah voucher/transaksi sesuai nomor bukti ( kolom 2 ). Pernyataan AND akan selalu False ActiveCell.Offset(-1, -4) --> jika posisi aktif di kolom debet maka -4 menuju kolom tanggal ( ini tak sesuai ) --> jika posisi aktif di kolom credit maka -4 menuju kolom no bukti ( ini sesuai yg diinginkan ) --> jika posisi di luar kolom debet atau credit akan menghasilkan ketidak-akuratan. Jadi lebih aman gunakan target sebagai acuan sel . dan kolom no bukti pasti di kolom ke 2 , maka gunakan fungsi cells. mungkin dapat menjelaskan knapa koding perlu dimodif ________________________________ To: [email protected] From: [email protected] Date: Tue, 24 Jan 2012 20:30:47 -0800 Subject: [belajar-excel] Fw: Program Laporan Keuangan dengan PivotTable Untuk rekan2 yang sudah menginstal Program tsb di atas, saya mohon maaf karena ada sedikit kesalahan yang menggangu pada ComboBox_Change sesuai penjelasan Pak Sudarsono. Namun untuk WorkSheet_Change, hasil pengetesan atas program yang saya kirim sebelumnya masih OK jadi belum saya ubah (maaf Pak Sudarsono, bukan saya nekat menolak usulan Bapak). Agar tidak membuat rekan2 semakin bingung, saya lampirkan file Jurnal yang telah saya revisi berikut pengambilan range secara otomatis (maaf MOD filenya sedikit lewat quota, namun demi kepentingan umum mohon jangan dicekal) Salam, Hendrik Karnadi ----- Forwarded Message ----- From: jkssxls Sudarsono <[email protected]> To: [email protected] Sent: Wednesday, 25 January 2012, 10:10 Subject: RE: Program Laporan Keuangan dengan PivotTable Pak Hendrik di sheetData ada combobox1 ( akan tampak bila di Developer , design mode aktif ). Karena sumber combobox yaitu property ListFillRange mengambil dari range COA ( sebuah range dgn nama COA , meliputi/memiliki daerah COA!$A$1:$C$51). Maka bila sheet COA dimodif ( add,edit ) , maka combobox1 menghasilkan event Change Private Sub ComboBox1_Change() ActiveCell = ComboBox1.Value ComboBox1.Visible = False End Sub Karena ComboBox1 berada di Sheet Data, maka event dapat menghasilkan error maka perlu di modif Private Sub ComboBox1_Change() If ActiveSheet.Name = "DATA" Then ActiveCell = ComboBox1.Value ComboBox1.Visible = False End If End Sub Private Sub Worksheet_Change(ByVal Target As Range) ' sehrusnya bukan AND tapi OR ' If Target.Column = 5 And Target.Column = 6 Then If ActiveSheet.Name = "DATA" And (Target.Column = 5 Or Target.Column = 6) Then ' Offset(-1,-4) erarti baris sebelumnya dan kolom tanggal ' seharusnya mungkin maksudnya ' Offset(0,-3) 'If WorksheetFunction.SumIf(Range("No_Bukti"), _ ActiveCell.Offset(-1, -4), Range("Debit")) <> _ WorksheetFunction.SumIf(Range("NO_Bukti"), _ ActiveCell.Offset(-1, -4), Range("Kredit")) If WorksheetFunction.SumIf(Range("No_Bukti"), _ ActiveCell.Offset(0, -3), Range("Debit")) <> _ WorksheetFunction.SumIf(Range("NO_Bukti"), _ ActiveCell.Offset(0, -3), Range("Kredit")) Then Target.Select MsgBox "JUMLAH DEBIT dan KREDIT TIDAK SAMA" & _ vbCrLf & "Lihat No BUKTI WARNA MERAH", _ vbCritical + vbOKOnly, "P E S A N" End If End If End Sub Mungkin itu yang bisa saya infokan ________________________________ Date: Tue, 24 Jan 2012 18:01:29 -0800 From: [email protected] Subject: Re: Program Laporan Keuangan dengan PivotTable To: [email protected] Ini Pak saya kirimkan filenya. Ada suatu masalah yang baru saya ketahui dan belum bisa saya pecahkan. Ketika kita mengedit suatu sel pada Sheet COA file Jurnal maka bukan hasil edit yang muncul melainkan nilai dari ComboBox (ComboBox.Value), yang macronya ada di Sheet DATA (bukan di Module) Barangkali anda dapat membantu memecahkannya. Salam, Hendrik Karnadi Catatan: Folder/filenya diextract dulu ke satu foledr mis D: ________________________________ From: jkssbma <[email protected]> To: [email protected] Sent: Wednesday, 25 January 2012, 8:39 Subject: Program Laporan Keuangan dengan PivotTable Pak Hendrik , saya tertarik dengan Program Laporan Keuangan dengan PivotTable , saat memasuki situs dimanana file LapKeu.rar berada , ternyata tak ada respon download. Apakah bapak bersedia mengirim melalui japri. Terima kasih Sudrsono

