Senin, 04 Januari 2010

Membuat Aplikasi pada Excel


Sebagai pengguna maniak Excel, salah keunggulan yang sangat menonjol yang saya rasakan dari Microsoft Excel adalah kemampuannya untuk dipadukan dengan Visual Basic For Applications (VBA), atau biasa disebut Macro. Dengan VBA kita bisa membuat sebuah aplikasi yang bisa dijalankan pada sebuah file Excel, tanpa harus dicompile. Kita bisa membuat pengolah database otomatis, bisa membuat aplikasi kalkulator, dan banyak lagi yang lain. Kalau saya menyebutnya versi mini dari Visual Basic.

Disini kita hanya akan membahas bagaimana proses membuat aplikasi pada Excel, dan saya berusaha meyakinkan anda bahwa pemrogroman dengan VBA (Macro) pada excel sangat simple dan mudah. Penulisan Macro (saya lebih suka menyebut macro) bisa dengan 2 cara, yaitu menulis langsung pada window editor, atau dengan cara Record Macro.

Record Macro

Kita akan melakukan salah satu contoh membuat macro dengan cara merecord. Buka file baru dalam aplikasi Excel, klik menu Tools - Macro - Record New Macro.


Muncul menu "Record macro", kita bisa memberi nama sendiri macro yang akan direcord, tapi defaultnya Macro1, kita biarkan saja namanya. Klik Ok.


Mulai dari sini, semua proses yang akan dilakukan terhadap file excel tersebut akan direcord oleh Macro Recorder, sampai nanti kita menekan tombol stop. Sekarang kita akan merubah Page Setup dari Portrait menjadi Lanscape.

Klik menu File - Page Setup - dan pilih Lanscape - Ok. Klik tombol Menu pada menu tambahan yang muncul pada layar, atau klik menu Tools - Macro - Stop Recording. Nah kita sudah selesai membuat macro dengan menggunakan Macro Recorder, sekarang mari kita lihat source codenya.

Pilih menu Tools - Macro - Visual Basic Editor, maka akan muncul layar baru yang berisi source code dari macro yang baru saja kita record, yang bernama Sub Macro1(). Anda mungkin terkejut, bagaimana perintah yang simple itu menghasilkan source yang sangat panjang. Tapi tenang, inilah memang kelemahan bila menulis macro menggunakan Macro Recorder, perintah yang seharusnya tidak perlu juga disertakan pada saat merecord macro.

Mungkin hasil kode yang dihasilkan pada komputer anda seperti ini:
Sub Macro1()
    With ActiveSheet.PageSetup
        .PrintTitleRows = ""
        .PrintTitleColumns = ""
    End With
    ActiveSheet.PageSetup.PrintArea = ""
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(0.75)
        .RightMargin = Application.InchesToPoints(0.75)
        .TopMargin = Application.InchesToPoints(1)
        .BottomMargin = Application.InchesToPoints(1)
        .HeaderMargin = Application.InchesToPoints(0.5)
        .FooterMargin = Application.InchesToPoints(0.5)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .PrintQuality = 600
        .CenterHorizontally = False
        .CenterVertically = False
        .Orientation = xlLandscape
        .Draft = False
        .PaperSize = xlPaperA4
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .Zoom = 100
        .PrintErrors = xlPrintErrorsDisplayed
    End With
End Sub


Bandingkan, kita bisa menyederhanakan kode diatas menjadi :

Sub Macro1()
    With ActiveSheet.PageSetup
        .Orientation = xlLandscape
    End With
End Sub




So? Masih mau merecord macro? Jangan terburu-buru memutuskan tidak menggunakan Macro Recorder, yang pasti ada gunanya. Saya biasa menggunakannya untuk mencari perintah yang tepat untuk melakukan operasi tertentu, yang mungkin saya lupa perintahnya. Saya record dengan Macro Recorder, dan dibuang perintah yang tidak perlu.


Menulis Sendiri Kode Macro
Cara kedua yang bisa digunakan adalah dengan menulis sendiri kode macro, keunggulan cara ini pastinya kode macro bisa dibuat lebih simple, tidak seperti menggunakan Macro Recorder yang berisi kode yang sangat panjang.


Berikut langkah untuk membuat macro. Masuk ke File Excel yang baru, dan klik menu Tools - Macro - Visual Basic Editor, atau cukup tekan tombol Alt + F11. Muncul layar baru, dari layar tersebut pilih menu Insert - Module, dan akan muncul layar putih disebelah kanan tempat kita dapat menulis kode macro.


Kopikan kode ini:
Sub macro_pertama_saya()
    Cells(1, 1) = "Percobaan"
    Cells(1, 2).Interior.ColorIndex = "30"
End Sub


Simpan filenya, dan sekarang kita akan mencoba menjalankan macro ini.Untuk menjalankan macro, bisa dari layar Visual Basic Editor, atau bisa juga dari file Excelnya. Kalau dari Visual Basic Editor, cukup tekan tombol Play, kalau dari windows Excel, pilih menu Tools - Macro - Macros, dan pilih macro yang akan dijalankan, dalam hal ini nama macronya adalah "macro_pertama_saya". Klik Ok, dan macro akan segera beroperasi. Lihat hasilnya pada layar Excel anda


Bila repot harus menjalankan macro kalau harus klik menu Tools terus, kita bisa assign macro menjadi tombol. Dari window Excel, insert kotak / shape yang mana saja, klik kanan pada shape tersebut, dan pilih Assign Macro, pilih macro yang ingin di assign, Ok. Kita bisa menjalankan macro hanya dengan mengklik shape tersebut.

Sangat simple ya  membuat macro dalam Excel. Ya iya, contoh, coba kalau dalam kenyataannya, lebih rumit pastinya. Oke, kapan-kapan kita bahas materi Macro / VBA yang lebih rumit.

Semoga bermanfaat....

Tidak ada komentar:

Posting Komentar