Rabu, 27 Juni 2012

MacroExcel - Split Data All Cabang

Dikarenakan macro gabung data, baik dari sheet maupun dari file sudah ada. Berikut macro proses
sebaliknya, yaitu split data dari satu sheet ke beberapa sheet, tampilannya sbb :


Pada file macro terdapat sheet AllCabang, di sheet ini terdapat sejumlah data dengan kode cabang yang
berbeda-beda. Dan proses macro split ini, memisahkan data yang ada di sheet AllCabang ke masing sheet
cabang.Untuk mencobanya tinggal klik tombol RunMacro dan perhatikan perubahannya.
Untuk penjelasan macro bisa dilihat pada tampilan berikut :


File contoh macro dan penjelasan bisa didonlot di sini >> ExcelMacro-SplitDataAllCabang.zip
Read More..

Minggu, 10 Juni 2012

ExcelMacro - gabung file sales cabang

Jika pada postingan sebelumnya gabung data sheet cabang, maka untuk posting kali ini adalah contoh
gabung file (sales) cabang. Berbeda dengan gabung sheet, untuk gabung file ini diperlukan penentuan
direktori letak file cabang yang akan digabung. Jadi langkah macro adalah menentukan direktori file cabang
dengan mengklik tombol Folder file sales cabang, kemudian tekan tombol RunMacro - gabung file untuk
proses gabung file.Berikut tampilannya :


Berikut contoh file macro gabung file sales GabungFileCabang.zip. .
Untuk macro gabung file ini penjelasan singkat macro sudah ada di komen macro (yang warna ijo gan :) ).


Read More..

Selasa, 05 Juni 2012

ExcelMacro - cetak kwitansi untuk banyak transaksi (2) penjelasan macro

Langsung saja berikut penjelasan dari postingan selumnya macro-cetak-kwitansi-untuk-banyak-transaksi.

1) Menamai prosedur cetak kwitansi dengan nama CetakKwt
    
    Sub CetakKwt()
    ...
    End Sub


2) Buat variabel dengan nama lBrsAkh dan JamAwl
   
    Dim lBrsAkh As Long
    Dim JamAwl


3) Variabel JamAwl diisi dengan waktu saat mulai macro dijalankan dan variabel lBrsAkh diisi dengan baris
    data pada sheet transaksi.
   
    JamAwl = Time()
    lBrsAkh = Range("A" & Rows.Count).End(xlUp).Row



4) Jika variabel lBrsAkh (baris terakhir data di sheet Transaksi) isinya kurang dari 7 (header data ada di -
    ris ke 6, artinya jika baris terakhir kurang dari 7 berati data kosong/tidak ada data sama sekali untuk di -
    cetak), maka dimunculkan kota pesan peringatan bahwa tidak ada data transaksi yang ada di cetak.

    If lBrsAkh < 7 Then
    MsgBox "Tidak ada transaksi yang akan dicetak", vbInformation, "Info"
    Exit Sub
    End If


5) Sheet Kwitansi diaktifkan atau dipilih.

       
    Sheets("Kwitansi").Select


6) Ingat penjelasan nomer 4, yaitu header data transaksi pada sheet Transaksi ada di baris ke 6, jadi data
    pertama transaksi ada di baris 7, sedangkan baris terakhirnya adalah nilai yang ada di variabel lBrsAkh.
    Fungsi perulangan For ... To ... Next lebih detailnya bisa lihat artikel bentuk-pengulangan-for-next.

    For i = 7 To lBrsAkh
    ...
    Next i


7) Code macro dibawah adalah untuk mengisikan data transaksi pada sheet Transaksi, mulai baris ke 7 -
    sampai dengan baris terakhir (nilai pada variabel lBrsAkh). Penjelasan detail kegunaan statement With ...
    End With adalah untuk menyingkat penulisan object agar tidak diketik berulang-ulang.  
    Misal code macro .Cells(i, 3).Value (di depan ada tanda titik), sebenarnya jika ditulis lengkap menjadi -
    Sheets("Transaksi").Cells(i, 3).Value , namun code Sheets("Transaksi") tidak lagi ditulis berulang karena
    sudah terwakili oleh statement With Sheets("Transaksi"). Statement With ini berlaku untuk semua penulis-
    as code (object) yang diawali dengan titik.

    With Sheets("Transaksi")
        Range("D3").Value = "'" & .Cells(i, 1).Value
        Range("E5").Value = .Cells(i, 3).Value
        Range("E7").Value = WorksheetFunction.Proper(Terbilang(.Cells(i, 5).Value))
        Range("E9").Value = .Cells(i, 2).Value
        Range("D16").Value = .Cells(i, 5).Value
        Range("H12").Value = "Jakarta, " & Format(Date, "DD MMMM YYYY")
        Range("H18").Value = "( " & .Cells(i, 4).Value & " )"

 

9) Fungsi IF ini adalah untuk mengecek opsi yang dipilih oleh user macro, apakah kwitansi akan dicetak ke -
    kertas atau hanya di preview dilayar. Ingat code .Range("C3") sebenarnya merujuk pada isi range C3 di
    sheet Transaksi karena penulisan dimulai dengan tanda titik, penulisan lengkapnya sebagai berikut
    Sheets("Transaksi").Range("C3") yang artinya isinya range C3 pada sheet Transaksi.
    (Note : penulisan .Range("C3") sama artinya dengan .Range("C3").value )

            If .Range("C3") = "Print" Then
            ActiveSheet.PrintOut
            Else
            ActiveSheet.PrintPreview
            End If
        End With

 
9) Setelah melakukan proses cetak/preview, maka sheet Transaksi diaktifkan atau dipilih kembali, selanjut
    nya memunculkan pesan selesai dan lama waktu proses.

    Sheets("Transaksi").Select
    MsgBox "Proses cetak kwitansi selesai" & Chr(13) & "Waktu : " & Format(Time() - JamAwl, _   

    "hh:mm:ss"), vbInformation, "info"
 

Sekian penjelasan singkatnya, maaf kalo agak kurang jelas, hehe
Read More..

Sabtu, 02 Juni 2012

ExcelMacro - cetak kwitansi untuk banyak transaksi

Langsung saja, berikut ane kasih contoh cetak kwitansi untuk banyak transaksi. Nilai pembayaran di kwitansi pada umumnya selain berupa angka juga ada yang berbentuk ejaan, atau biasa disebut terbilang. Nah karena fungsi terbilang ini di blog-blog lain sudah cukup banyak. Maka ane langsung copas dari blog lain (sudah ijin), berikut sumber fungsi terbilang yang dimaksud macro-excel-terbilang.
Langsung saja, berikut tampilan awal macro berisi list transaksi yang akan dicetak dilengkapi dengan opsi cetak (print / preview) dan tombol run macro cetak kwitansi, cekidot :



Tampilan Kwitansi saat macro cetak dijalankan bisa dilihat gambar berikut :


Contoh macro cetak kwitansi ini silahkan diambil di sini MacroCetakKwitansi.zip
Untuk penjelasan macronya tunggu postingan selanjutnya.
Read More..