7/01/2016

Pengenalan Excel Versi Alm Siti Vi ( Legendaris Master Excel di Indonesia )

VBA EXCEL AT A GLANCE

serial “siti Vi kurang kerjaan”, membahas hal yg tidak perlu, menjelaskan hal yang sudah jelas

Sumber Gambar : http://www.xl-mania.com/2012/08/selamat-tinggal-siti-vi.html
Excel telah menyediakan berbagai fitur dan fasilitas yang demikian luas, sehingga kita,  pemakainya, dapat bekerja dengan efektif. Akan lebih efektif lagi jika kita melengkapi diri minimal dengan sekedar buku panduan standar sebagai peta dan kompasnya. Pengecualiannya tentu ada, yaitu bagi orang yg sudah hafal semua sudut dan ceruk di Excel.

Keistimewaan Excel antara lain dapat dioperasikan tanpa mengharuskan pemakai melakukan pemrograman. Akan tetapi dengan pemrograman kita akan dapat memecahkan lebih banyak problem dan menemukan lebih banyak hal yg dapat dilakukan dengan Excel. Malah, saya kira, ada hal-hal yang hanya dapat dicapai dengan pemrograman.Kreativitas Anda akan dapat menjangkau “daerah” yang lebih luas dengan melakukan pemrograman.

Saat ini bahasa pemrograman yg digunakan di Excel (mulai Excel 5) adalah Visual Basic for Application (disingkat VBA). VBA boleh disebut sebagai “cabang” dari Visual Basic (VB) yg termasyhur itu. VBA adalah bahasa pemrograman yg dikhususkan untuk MS Office, bahkan konon ada beberapa aplikasi lain yg mengadopsi VBA sebagai bahasa pemrogramannya. Apabila kita menguasai pemrograman VBA-Excel, tentunya kita, dengan sedikit penyesuaian akan mampu pula memprogram aplikasi keluarga MS Office lainnya, misalnya Word, Access, Power Point, dan bahkan AutoCAD yang bukan keluarga MS Office.

VBA seperti halnya VB, terkenal dan sangat banyak pemakainya antara lain karena mudahnya difahami dan dipelajari. Bila Anda termasuk orang yg menganggap VBA=sulit, saya yakin hanya karena gamang dan belum memulai saja. Setelah Anda nekat mulai, saya yakin pula bahwa Anda tidak akan rela berhenti menikmati VBA.


Mengenal VBA Secara Sekilas.

 

MODULE dan VBE.

Code program ditulis dan disimpan di sebuah Module VBA. Module VBA bersama-sama dengan Worksheet dan object lain disimpan dalam Workbook Excel.

Module VBA dapat dilihat, ditulis, disunting melalui Visual Basic Editor (VBE). VBE dapat diakses dari layar Excel melalui Menu Tools > Macro > VBE.  Dengan kata lain VBE (serta hasil programmingnya) hanya dapat dijalankan di dalam Excel, pada saat Excel aktif.

Selain ditulis secara manual, code program dapat pula diciptakan dengan cara perekaman, yaitu merekam tindakan-tindakan (actions) yang Anda lakukan di Excel. Mode merekam dapat dimulai dengan instruksi menu Tools > Macro > RecordMacro..  dan diakhiri dengan instruksi menu Tools > Macro > Stop Recording.
Mode perekaman ada keterbatasannya yaitu kita tidak dapat membuat prosedur Fungsi, juga tidak dapat membuat prosedur yang memerlukan Proses Pengulangan, Proses Pencabangan. Walaupun demikian dengan mode recording ini dapat kita buat program-program yang cukup berguna untuk membuat otomasi-otomasi yg berguna untuk pekerjaan rutin kita sehari hari.

Didalam VBA, paling tidak ada 3 jenis Module.
Setiap object Sheet (Worksheet dan ChartSheet), Workbook maupun UserForm mempunyai Module masing-masing, disebut Object Module.
Selain itu kita dapat membuat Module lain (dengan menu: Insert > Module) sebagai Module Umum / Module Utama. Disamping dua jenis module yg sudah disebutkan, masih dapat dibuat Class Module.

Module Umum adalah tempat menuliskan Deklarasi dan Prosedur yang berlaku umum, tidak harus mengacu ke suatu object. Module yg menyertai Object (Sheet, Workbook, UserForm) adalah wadah untuk menuliskan prosedur-prosedur yang spesifik untuk keperluan mengurus Objects tersebut, sedangkan Module Class adalah tempat khusus ditulisnya procedures dan codes lainnya untuk menciptakan Class Baru. Keistimewaan Module Class adalah dapat dibuatnya Prosedur Property. Yang akan menjadi property bagi Class yg akan tercipta. (Module Class dan Prosedur Property belum perlu dibicarakan lebih lanjut dalam kesempatan sekilas ini).

Class adalah bentuk formal dari sebuah object. Class belum merupakan sebuah object TERTENTU. Barangkali dapat dikatakan bahwa Class adalah cetakan / templete dari sebuah object. Object tercipta berkat instansiasi dari sebuah kelas.

USERFORM DAN OBJECT CONTROLS

UserForm dapat kita anggap sebuah “kanvas” tempat kita melukiskan object-object Controls.
Setelah dibuat sedemikian rupa, UserForm akan dapat ditampilkan sebagai DialogBox atau Window tempat dikontrolnya sebuah Aplikasi.
Object Controls adalah sebuah “bentuk” yang berguna untuk mengarahkan jalannya program / aplikasi. Misalnya TextBox untuk menampung data, ComboBox atau ListBox untuk memilih data, checkBox dan Option Button untuk menentukan pilihan, Tombol (CommandButton) untuk menjalankan suatu tindakan / kegiatan, dsb.

PROCEDURE, MACRO, CODE

Module VBA terdiri dari Prosedur-Prosedur, atau dapat dikatakan bahwa : Module adalah wadah untuk menyimpan Prosedur-Prosedur / Macro.
Prosedur (Procedure) terdiri dari sekumpulan Code yang dapat melakukan tindakan-tindakan (actions) tertentu dan atau menghasilkan nilai tertentu. Istilah lain dari Procedure adalah: Macro, Rutin, Sub Rutin. Sekelompok Code dapat disebut sebagai sebuah prosedur bila memenuhi syarat tertentu, antara lain dibuka dan ditutup dengan Code tertentu.
Code adalah instruksi atau serangkaian instruksi dalam bahasa pemrograman yang dapat dilakukan oleh komputer.
Di dalam VBA dikenal ada tiga jenis prosedur, yaitu Prosedur Sub, Prosedur Fungsi dan Prosedur Property.

 

PROCEDUR SUB

Prosedur Sub adalah sekumpulan code instruksi yang dapat melaksanakan tindakan/aksi aksi tertentu, misal memformat sebuah range, menghapus isi range, membuat sebuah tabel, dsb. Pada contoh sederhana di bawah ini, 2 prosedur Sub dapat menampilkan kotak pesan berisi informasi, dan menebalkan huruf pada range di worksheet yg sedang diblok (terSelected).
Sub CobaMakro()
   NmDep = “siti”
   NmBel = “Vii”
MsgBox “Nama Lengkap: “ & NmDep & “ “ & NmBel
End Sub

Sub Menebalkan()
   Selection.Font.Bold = True
End Sub

Agar Prosedur Sub dapat melakukan aksinya, maka kita harus me-RUN / menjalankannya. Cara lain ialah: memanggilnya dengan menuliskan NamaProsedurnya di Prosedur lain.

PROCEDURE FUNCTION

Di dalam Module VBA, selain dapat dibuat prosedur Sub juga dapat dibuat prosedur Fungsi (Function Procedures).  Prosedur jenis ini tidak dibuat untuk melaksanakan aksi, tetapi khusus untuk menghasilkan / mengembalikan sebuah nilai. Sebuah Fungsi dapat dipanggil oleh prosedur lain dalam Module, dapat pula dijadikan formula dalam Worksheet. Contoh: Fungsi Menjumlah akan menghasilkan suatu jumlah dari data-data yg dijumlah.

Contoh Prosedur Fungsi
Function Luas(Panjang, Lebar)
   Luas = Panjang * Lebar
End Function
Pada contoh di atas, Fungsi Luas mengembalikan hasil kali dari masukan Panjang dan Lebar.

Di dalam Prosedur Sub maupun Prosedur Function bisa (tetapi tidak harus) terdapat Arguments.
Argument adalah sebuah Variable atau Konstanta atau Ekspresi yang diumpankan kepada sebuah Prosedur.
Contoh: Prosedur Function LUAS di atas, mempunyai dua buah Argument Formal yang bernama Panjang dan Lebar.
Pada pemakaiannya Fungsi tsb dapat dituliskan pada prosedur lain, atau bisa juga pada worksheet, sbb:
A1 = Luas(5,7)
Hasilnya adalah  Cell atau Variable A1 akan berisi data bilangan 35 yaitu hasil kali dari 5 dan 7.
5 dan 7 itu disebut Argument Aktual.
Selain Fungsi-Fungsi yg kita buat sendiri, VBA sudah menyediakan banyak Fungsi yang mencakup berbagai keperluan kalkulasi dan pengolahan data.

OBJECT DAN HIERARKINYA

Excel meyediakan banyak sekali (lebih dari seribu) object, misalnya Workbook, Worksheet, Range, Chart, Shape, Pivot Table, Commandbar, Textbox, Listbox, Checkbox, Button, dsb. Dengan VBA kita dapat memanipulasikan object-object yang ada dalam Excel.
Di dalam Excel (maupun VBA) object-object tersusun secara hierarkis. Sebuah Object dapat menampung object-object lain. Misal  di dalam Object Application terdapat object Workbook, VBE dsb. Di dalam object Workbook terdapat object Worksheet, Chartsheet, CommandBars, WorksheetFunction dsb.  Di dalam object Worksheet ada object Range, Shapes, Comments. PivotTable  dsb.  Object yg lebih tinggi hierarkinya, yaitu yg menampung object object lain disebut object Penampung atauContainer. Object-obect yg berada pada hierarki di bawahnya disebut Member / Anggota.

OBJECT DAN COLLECTION

Collection adalah sekelompok object yang sejenis. Misalnya bila saat itu kita membuka beberapa workbook, maka beberapa workbook tsb membentuk koleksiWorkbooks yg terdiri dari beberapa object Workbook.
Beberpa Worksheet membentuk collection Worksheets.  Beberpa Worksheet dan Chartsheet membentuk sebuah collection bernama Sheets. Collection itu sendiri (misal Workbooks,  Worksheets, CommandBars, Sheets dsb) adalah juga sebuah Object. Dengan kata lain, Worksheet adalah Member (anggota) dari object Workbook. Worksheet juga menjadi anggota dari Worksheets Collection, selain itu dia juga menjadi anggota dari Sheets Collection.

OBJECT DAN MEMBER-NYA.

Untuk menyatakan sebuah Member dari sebuah Object atau Collection, penulisan codenya harus dipisahkan dengan sebuah Dot Operator (berupa sebuah karakter titik (.) sesuai hierarki dan keanggotaanya-nya. Semakin ke kanan, semakin rendah hierarkinya.
Misal: untuk mengakses sebuah worksheet yang bernama “Data2” yg ada di dalam Book2. XLS, codenya dapat ditulis :
Application.Workbooks(“Book2).Worksheets(“Data2”)
Cell F16 yang ada di Worksheet Data2  dapat diakses dengan menuliskan code:
Application.Workbooks(“Book2).Worksheets(“Data2”).Range(“F16”)
Dalam Excel, object yang bernama Application itu adalah Excel itu sendiri, karena saat VBA dijalankan Excel lah yang sedang menjadi Host Application-nya.

Didalam Excel, bila ada beberapa workbook terbuka, maka pada saat yang sama hanya bisa ada satu workbook yg aktif. Demikian juga dengan Window, Worksheet dan Range / Cell.
Penulisan nama object di hierarki yang lebih tinggi dapat dihilangkan (tidak dituliskan) bila object tersebut sedang aktif.
Misal workbook Book1 sedang aktif, maka code
Application.Workbooks(“Book1).Worksheets(“Data2”).Range(“F16”)
Dapat ditulis lebih singkat:
Worksheets(“Data2”).Range(“F16”)
Bila saat itu Sheet “Data2” sedang aktif, maka code tsb dapat dipersingkat menjadi
Range(“F16”)
Dapat disimpulkan bahwa bila kita menuliskan code suatu object tanpa menyebutkan hierarki di atasnya, maka yang akan terakses adalah object senama (nama object yang ada / cocok) yang ada pada object yg sedang aktif. (Nama workbook, nama sheet, apalagi nama range /cell bisa sama dan ada di collection / object lain).

OBJECT DAN PROPERTY

Selain bisa mempunyai Anggota/Member, sebuah object juga memiliki  properti-properti (Properties).
Property adalah attribut atau ciri-ciri bagi sebuah Object. Setiap Property menjabarkan karakteristik sebuah object, misalnya: Warna-nya. Lebar-nya,  Lokasi-nya di layar, Statusnya (misal Visible atau “tidak-Visible”, Enabled atau “tidak-Enabled”, dsb).
Sebuah Cell (object Range) berisi data bilangan 50, Cell di sebelahnya berisi data teks “Gaji”. Dapat kita katakan bahwa kedua cell tsb berbeda Property VALUE nya.Value adalah salah satu nama property milik Object Range. Sebagian besar Object-Object lain juga mempunyai property bernama Value. Sebuah object bisa mempunyai banyak properties.

Menuliskan properti bagi sebuah object dengan cara menggabungkan {NamaObject} {DotOperator} {Propertynya},  Gampangnya: Penulisan Object dan Propertyharus diAntarai oleh sebuah TITIK, yaitu cara yang sama seperti penulisan object dengan Membernya. Misalnya:
Workook.Name     menghasilkan nama workbook tsb, misalnya  “Book7.XLS”.  Name adalah sebuah property yg dimiliki oleh semua object, termasuk workbook.

Dengan VBA kita dapat mengubah ciri suatu object, yaitu dengan mengubah /memberi nilai kepada property atau (properties)-nya
Range(“A1”).Value = 1000       
Cell A1 diubah property VALUE nya menjadi: 1000, mengakibatkan Cell tsb berisi data bilangan 1000.
Worksheets(“Sheet1”).Name = “Laporan 2007”
Property NAME milik Worksheet “Sheet1” diubah / diisi menjadi “Laporan 2007”, mengakibatkan Nama sheet tsb (yg tampak di TabSheet-nya) menjadi “Laporan 2007”

Nilai suatu Property milik suatu Object dapat diakses dan diberikan kepada Property lain milik Object lain.  Contohnya:
Range(“A9”).Value = Sheet5.Range(“A10”).Value
Nilai yang ada di cell A10 pada Sheet5 (pada workbook yg sedang aktif) diakses dan diberikan/diisikan ke Cell A9 pada sheet yg sedang aktif.

VarBilKu = Sheet3.Range(“X231”).Value
Sebuah Variable yg bernama VarBilKu diisi dengan nilai milik Cell X231 yg berada di Sheet3 pada workbook yg sedang aktif. (Mengenai Variable, akan di jelaskan kemudian).

Property dapat menghasilkan sebuah Object.

Misalnya: Cells adalah salah satu Property  milik worksheet. Sheet1.Cells(3,6) adalah code yang merujuk ke Cell F3, atau istilah dalam VBA : Range F3. Range(“F3”) ini adalah juga sebuah object, yang kemudian bisa dimanipulasi dengan mengubah ubah nilai properties-nya.

Contoh lain : Font adalah salah satu Property milik object Range.
Range(“F16:F18”).Font.Color = vbRed,
Property Font menghasilkan object Font. Dan kemudian Object Font itu dengan Property Color di set menjadi bernilai vbRed, mengakibatkan Font yang ada di Range F16:F18 menjadi berwarna merah.

Konsep ini barangkali  agak “tidak segera” dapat difahami tetapi dengan menyelam ke VBA beberapa saat akan mempercepat pemahamannya.
Note: vbRed adalah salah satu konstanta bawaan dari VBA.

OBJECT DAN METHODS (METODA)

Disamping mempunyai Member dan Property,  sebuah Object dapat memiliki Methods.  Method adalah tindakan, aksi atau kegiatan yang dapat dilaksanakan oleh sebuah object.
Contoh:
Sebuah Worksheet yang semula tidak aktif dapat menjadi aktif. Dalam VBA untuk menjadikan Worksheet menjadi aktif dengan cara memberlakukan METHODActivate
Sheet17.Activate
Mirip dengan metoda Activate bagi worksheet adalah metoda Select
Worksheet4.Select
(keluar dari koridor sebentar: Bedanya: Metoda Select dapat diberlakukan terhadap banyak Sheet secara sekaligus, sedangkan metoda activate hanya bisa mengaktifkan SATU object pada saat yang sama. Metoda Select juga sekaligus mengaktifkan salah satu Object yg diselected)

Isi suatu Range dapat dikosongkan dengan METODA ClearContents
Range(“A1:Z60000”).ClearContents 
METODA lain, Clear milik object Range bekerja seperti METODA ClearContents tetapi juga menghapus formattingnya.

Workbook Lain yg semula belum ada, dapat dibuat ada dengan metoda Add.  Workbook juga dapat diSave dengan metoda Save.
Seperti sudah terlanjur dicontohkan, sebuah METODA dicodekan setelah Object-nya dengan operator perantaranya: tetap sebuah Dot Operator.
Kesimpulan:  object dengan anggotanya, object dengan propertinya, object dengan metodanya semua dituliskan dengan diberi operator TITIK.

OBJECT DAN EVENT

Event adalah sebuah peristiwa yg dapat terjadi pada / diderita oleh sebuah object. Misal sebuah object Workbook punya event Open, Close dsb; sebuah TOMBOL (CommandButton) mempunyai event “di-Klik” (Click), sebuah UserForm sewaktu-waktu dapat menderita “Initialize, Activate” dsb. Mouse-Pointer melintas diatas suatu object juga sebuah Event.
Di Excel 2000 dinyatakan: Worksheet mempunyai 8 Event yang sewaktu-waktu dapat diderita-nya: Activate, BeforeDoubleCLick, BeforeRightClick, Calculate, Change, Deactivate, FollowHyperLlink, SelectionChange.
Di Excel 2003 Workbook punya 28 buah Event (berarti ada penambahan 8 Event bagi object wokbuk bila dibanding dengan Excel 2000)
Event adalah suatu hal yg resmi didaftar oleh pembuat Excel/VBA terhadap object-object yang ada. Kita tidak dapat menambah / mengubahnya, tetapi hanya dapatmemanfaatkan terjadinya, yaitu kita dapat menyiapkan lebih dulu suatu rangkaian instruksi (yg ditampung dalam sebuah prosedur khusus), dan pada saat suatu Object tertentu menderita Event tertentu, prosedur yg kita siapkan khusus tersebut akan JALAN dengan sendirinnya.

KONSEP PEMROGRAMAN

Seperti layaknya sebuah bahasa pemrograman, VBA juga mengenal adanya struktur pemrograman modern, dimana didalamnya melibatkan konsep-konsep pemrograman, antara lain:

q       Functions / Fungsi-Fungsi bawaan dari VBA.
VBA membawa fungsi yg cukup banyak. Dengan fungsi kita mencari nilai berdasakan nilai-nilai lain yg telah kita punyai. Semakin banyak kita mengenal Fungsi yang ada, maka semakin luas kemampuan kita memecahkan masalah dalam pemrograman.
Beberapa contoh fungsi VBA
X = Abs(N)  mengembalikan nilai absolut dari N
P = Left(variableKu, 5)   Isi (text) vaiable yg bernama variableKU diambil 5 huruf dihitung dari kiri, dan dimasukkan ke variable P
Y = Cos(N) mengembalikan cosinus dari satu Sudut N dan hasilnya dimasukkan ke variable yg bernama Y.
Z = Ubound(NamaArray,Dimensi)  mengembalikan Nomor Index terbesar dari Dimensi yg ditunjuk pada sebuah Array, hasilnya dimasukkan ke variable Z. 
Bahkan dari VBA kita dapat menggunakan banyak Fungsi milik Excel yaitu melalui object WorkshetFunction.

q       Berbagai jenis Operator
VBA banyak sekali menyediakan jenis Operator.
Operator Aritmatik, Operator Penggabungan, Operator Perbandingan (Comparison), Operator Penugasan (Assignment), Operator Logika. Semuanya siap untuk membantu memanipulasi dan pengolahan data-data Anda. Sifat dan cara penggunaan setiap operator harus dikenali dengan baik, agar program menghasilkan output yang benar.

q       Variable dan Konstanta (Constants)
Tanpa adanya variable, pemrograman hampir tidak mungkin dilaksanakan, karena selama program berjalan, banyak data yg selalu berubah-ubah memerlukantempat-tempat tertentu di memori yg mudah dipanggil kembali, yaitu dengan cara memberi namaTempat tertentu itu disebut Variable. Bila dikehendaki agar NILAI-nya tidak berubah selama program berjalan, disebut Konstanta.
Variable dan Konstanta dapat diatur jangkauan / ruang-lingkupnya serta umur/waktu hidupnya. Selain itu mereka juga sebaiknya ditentukan TypeData-nya sesuai keperluan. Pengaturan ini bertujuan untuk keakuratan dan kestabilan program, serta untuk mengefisienkan pemakaian memori selama program berjalan.

q       Konstanta Bawaan (Defined Constants)  dari VBA, dari MSOffice, maupun dari Excel
      Konstanta bawaan sangat membantu pemrogram, dengannya kita tidak perlu mengingat ingat nilai-nilai yg sulit diingat. Beberapa contoh
      VbCrlf = konstanta mewakili “ENTER” memindahkan data berikutnyua ke Baris berikutnya.
      VbBlue = mewakili nilai untuk menciptakan warna biru
      XlDown = mewakili pemilihan Range dari titik tertentu keBawah hingga cell berdata berikutnya

q       Type / Jenis Data
Di dalam VBA dikenal ada beberapa Type / Jenis DATA.
Type: Numbers (Byte, Integer, Long, Single, Double, Currency, Decimal, Date,) Object, String, Variant. Selain itu kita dimungkinkan menciptakan type data sendiri (User Defined Types).
Sebuah data harus punya typeData tertentu agar dapat diolah dengan akurat dan benar. Mengenal TypeData serta sifat-sifatnya adalah keharusan bagi pemrogram. Pemilihan type data yang ngawur akan meng-InEfisienkan pemakaian memory komputer dan sering mengakibatkan buruknya kinerja program.

q       Array / Larik
Array adalah data dengan keistimewaan, bahwa setiap array adalah SATU data, tetapi mempunyai banyak dimensi dan setiap dimensi dapat berisi banyakelement yg berisi sub-sub data yg sejenis. Setiap sub-data dapat diakses secara individual dengan menyebutkan nomor indexnya. Array dapat berdimensi satu dapat berdimensi banyak. Diluar itu, dimensi maupun elemen Array dapat dibuat fixed / tertentu, tetapi juga dapat dibuat dinamis artinya dimensi dan elemennya bertambah maupun berkurang sesuai keperluan program/pemorogram. Data Array dapat diperlakukan seperti halnya data yg terletak secara beraturan di Range, sehingga dapat dengan mudah diproses (diurutkan, dicari nilai Max-nya, dicari suatu nilainya yg memenuhi kriteria tertentu, dsb). Keunggulan array antara lain dapat di akses dan diproses dengan waktu yang lebih cepat dari pada data di Sheet. Selain itu, kita dapat mempunyai sebuah “tabel” selama program berjalan tanpa mengharuskan menuliskan “tabel” tsb ke sheet / disk.
Dengan mengenal Array secara baik, seorang pemrogram akan dapat berbuat lebih banyak dengan cara yang lebih mudah dan cepat.

q       Pengulangan / Looping
Pekerjaan atau aksi yg mirip / mempunyai pola keteraturan, jika harus diulang-ulang, coding-nya tidak perlu ditulis berulang-ulang pula, karena adanya struktur looping. Dengan struktur looping, kita hanya cukup menulis code satu kali saja, dan program akan mengulang sebanyak yg kita kehendaki sesuai keperluan. Bisa sekedar 3 atau 5 kali tetapi juga bisa jutaan kali pengulangan. Contoh statement struktur looping:
Do-While-Loop, 
For-Next,
While – Wend

q       Pencabangan / Branching
Pada suatu titik tertentu, arah program bisa bercabang, dan pemilihan cabang: harus memilih arah mana, ditentukan oleh sebuah nilai (yang pada saat diprogram belum diketahui fixed-nya). Dalam kasus seperti ini, berapapun jumlah cabangnya dapat diselesaian dengan teknik Branching. Ada beberapa teknik antara lain :
If-Then-Elseif-Else, 
Select Case
On ….

q       Event Procedures
Dengan adanya EVENT resmi yg sewaktu-waktu dapat terjadi pada peristiwa tertentu itu terhadap suatu object, maka kita dapat memanfatkan terjadinya Event tsb untuk memicu agar sebuah prosedur berjalan dengan sendirinya.
Prosedur yg ditulis dengan memanfaatkan suatu Object_Event tsb disebut Event Procedures / Event Driven / Event Handler. Mungkin prosedur Event dapat dikatakan sebagai “tukang mengotomatiskan” jalannya program. Cara menuliskan code pembuka sebuah Event Procedure tidak perlu kita hafalkan karena VBA telah menyediakannya, dan kita hanya memilihnya, setelah menentukan object-nya. Karena situasinya seperti itu maka: pemrogram tidak boleh: tidak mengenal Event dari berbagai Object penting.

q       Controls
Berbagai Alat Kontrol (Controls) dapat diberlakukan di Sheet maupun di UserForm
Di sheet, Control dapat dipakai secara sederhana tanpa pemrograman. Dengan cara ini sudah banyak hal yg dapat dimudahkan. Tetapi bila kita menguasai bahasa pemrogramannya tentu kemampuan controls tsb akan menjadi lebih luas lagi.
Controls dapat pula dibuat dan dipergunakan di suatu UserForm. Pemakaian Controls di UserForm mutlak harus disertai pemrogramannya. Beberapa Control Standard yg telah disediakan oleh Excel/VBA:
CommandButton,  TextBox, ListBox, ComboBox, CheckBox, OptionButton, ToggleButton, SpinButton,  Label, Image.
Diluar itu kita masih dapat menambahkan control-control lain sesuai keperluan, selama filenya pembentuknya tersedia di komputer kita.

VBA adalah bahasa pemrograman yang berorientasi object  dan terstruktur. Antar prosedur dapat saling minta bantuan. Prosedur-prosedur kecil saling bekerja sama membentuk Module agar memiliki kemampuan besar, antar module saling bekerja sama membentuk kemampuan yang lebih hebat lagi. Sementara itu penulisan code di tiap prosedur juga ada aturan dan strukturnya. Penyusunan secara modular ini banyak keuntungannya, misal kemudahan perawatan dan pengembangannya.


“Sekilas Lintas VBA” yg baru saja Anda baca itu saya kira sudah hampir mencakup seluruh kerangka yang ada. Selanjutnya tinggal mendalami tiap-tiap butirnya. Berhubung berExcel berarti berkutat di tiga hal utama: Book, Sheet dan Range/Cells, maka barangkali kita dapat mendahulukan mendalami pasal dan ayat yg mengatur wokbuk, woksit dan cell. Bagaimana cara mengakses, merujuk, mengisi, memindah, menyalin, menghapus, menSelect, mengaktifkan,  membuka, menutup tiga object utama Excel itu melalui VBA, semua adalah ceritera yg tak kurang mengasyikkan. Tentu saja sambil mempelajari bagian/butir lain. Jangan segan membaca Help. Kalau perlu file-file Help-nya itu dicopy saja ke folder khusus agar kita dapat membukanya tanpa menjalankan Excel & VBA-nya.

Untuk belajar VBA-Excel Anda perlu sedikit modal yaitu memahami O/S Windows secara standar, memahami Excel paling tidak secara standar pula. Satu lagi hal kecil: Anda harus mengetahui maksud dan keinginan Anda, serta dapat menjabarkan keinginan tsb, paling tidak kerangkanya:
§         Sesuatu (yang jelas)
§         yang dulunya cuma begitu (juga jelas)
§         ingin dijadikan begini (juga jelas).

Bila salah satu dari tiga urusan yang harusnya jelas itu ternyata belum jelas bagi Anda, sebaiknya jangan mulai menuliskan VBA-Code-nya dulu. Lebih berguna bila Anda mencari kejelasan keinginan Anda lebih dahulu, karena bila dituliskan VBA-Code-nya, hasilnya pun, bila jadi, jangan jangan juga tidak begitu jelas asupan apalagi keluarannya.

Jurangmangu,  17Maret 2007  // revisi: Bluwater, 1-April-2007

Serial “siti kurang kerjan”
menjelaskan hal-hal yang sudah jelaz, membahas hal yang tidak ferlu


EmoticonEmoticon