Laman

BelajarVBA 000 - Kenalan

Coretan Mr. Kid

Semoga coretan VBA ini bisa menjadi awal coretan yang runut tentang VBA.


Microsoft Excel menyediakan alat otomasi yang dikenal dengan nama Macro. Sampai saat ini, bahasa pemrograman yang digunakan untuk membuat macro, yang ditempelkan secara langsung bersama MS Office adalah bahasa pemrograman Visual Basic for Application (VBA). Bahasa dasar dari VBA adalah bahasa pemrograman Visual Basic. Adanya VBA dalam paket MS Ofiice membuat setiap aplikasi MS Office, termasuk Excel, mampu membangun suatu program dalam aplikasi tersebut. Tujuan utama adalah mengotomasi kegiatan penggunaan aplikasi tersebut. Jadi, jika pada aplikasi Excel dibangun sebuah program, maka tujuan utama dari program tersebut adalah mengotomasi kegiatan penggunaan Excel. Kegiatan penggunaan Excel sangatlah luas, dari sekedar Copy Paste data dalam worksheet hingga interaksi dengan aplikasi lain, termasuk diluar kelompok sistem MS Office.



Sebelum melangkah lebih jauh tentang hal-hal yang tampak abstrak diatas, mari kita mulai dengan hal sederhana saja, yaitu berkenalan dengan VBA.

Untuk kepentingan belajar, mari kita bangun lingkungan belajar yang nyaman.

Tahap 1. Membuat folder khusus untuk belajar VBA.
Cobalah untuk membuat sebuah folder selain di drive yang berisi Operating System (OS). Misal di drive E, F, atau seadanya. Misal kita beri nama folder tersebut adalah BelajarVBA.



Tahap 2. Menampilkan ribbon Developer dalam Excel.
Mari kita buka aplikasi Excel. Biasanya akan terbentuk sebuah workbook baru dengan nama Book1. Tutup Book1 tersebut. Nanti akan tampak seperti gambar dibawah ini. Perhatikan juga tentang ada atau tidaknya menu (ribbon) Developer dijajaran menu. Jika tidak ada, maka ikuti terus tahap ini. Jika sudah ada, bisa ke tahap 3.


Khusus bagi yang tidak tampak ribbon Developer-nya (si kotak merah), ikuti langkah ini :
xl2007 : Office Button (bunder pojok kiri atas) -> Excel Options -> lihat gambar -> OK




xl2013 : menu File -> Options -> lihat gambar -> OK



Tahap 3. Security Macro.
Penggunaan VBA pada umumnya dibatasi alias membutuhkan ijin security macro. Setting ini akan tetap dipasang pada kondisi yang aman. Pengaturan ini masih melalui Excel Options. Silakan lihat tahap 2 untuk bisa menampilkan Excel Options. Berikut tahapannya :
> pada Options -> klik page (frame kiri) Trust Center -> klik tombol Trust Center Settings
> pada dialog window baru -> lihat gambar dan pilih nomor 2 -> jangan tekan OK dulu ya


Pada gambar di atas ada 4 nomor dan 1 abjad.Dari keempat opsi yang ada, umumnya digunakan opsi 2. Kisahnya sebagai berikut :

Opsi 1
-> menolak seluruh VBA. Jadi Macro tidak akan boleh dijalankan sama sekali.

Opsi 2
-> Macro tidak boleh jalan sampai ada ijin boleh jalan oleh User.
-> Ketika membuka file berisi Macro (ada script VBA-nya), akan tampak seperti gambar.
-> Pertama kali akan muncul seperti gambar yang kiri dan ketika si tombol yang ditunjuk panah dipencet, maka akan muncul dialog window seperti yang kanan.
-> Ketika dialog window yang kanan dipilih Enable this content lalu menekan OK, maka Macro (VBA) boleh beroperasi.
-> Pastikan selalu untuk melihat notifikasi seperti Security Warning di gambar yang kiri ketika membuka workbook dimanapun Anda berada.


Opsi 3
-> Opsi ini hanya akan mengijinkan Macro (VBA) yang telah disertai kartu digital. Kartu digital ini biasanya dikeluarkan suatu lembaga sertifikasi atau oleh administrator jaringan setempat. Meskipun bisa membuat sendiri, dengan tidak diakuinya kartu digital tersebut ditempat lain, maka tidak akan bisa dijalankan di Office yang di-set dengan opsi 3 ini.
-> Untuk penjelasan lebih detil tentang Digital Signature, coba jalan-jalan kesini.

Opsi 4
-> Opsi ini akan mengijinkan seluruh Macro untuk beroperasi. Hal ini tidak direkomendasikan karena bisa jadi script VBA yang ada termasuk ke dalam golongan virus.

Item A-> Item ini khusus tentang ijin mengakses komponen VBProject.
-> Jika dicentang, maka akan diberikan ijin untuk mengakses komponen VBProject.
-> Artinya, dengan adanya ijin ini, maka terbuka kemungkinan membuat sebuah macro menggunakan script VBA. Syaratnya adalah adanya referensi ke library bernama Microsoft Visual Basic for Applications Extensibility 5.3 (nama librarynya VBE6EXT.olb).

xixixixixi.... 
biasanya akan ada banyak pembelajar VBA yang ngiler dengan pintu yang satu ini.
bisa buat workbook baru berisi VBA sesukanya gitu loh...
kita obrolin yang gak bikin ngiler saja dulu ya...


Tahap 4. Setting trusted locations.
Office menyediakan pintu lain, selain digital signature, untuk VBA yang terpercaya agar dapat melewati bagian security macro dan segera bisa bekerja. Pintu tersebut adalah trusted locations. Hal ini bisa diatur melalui dialog window Trust Center pada page Trusted Locations. Berikut ini adalah langkah pengaturan untuk membuat folder BelajarVBA termasuk folder yang dapat dipercaya :
A. menuju dialog window Trust Center
-> Excel Options (lihat tahap 2)
-> page Trust Center -> tombol Trust Center Settings (lihat tahap 3)
-> pada dialog window Trust Center -> page Trusted Locations -> lihat gambar


-> tekan tombol Add new location -> akan muncul dialog window baru (lihat gambar)


-> tekan tombol Browse -> tunjuk folder bernama BelajarVBA (yang akan ditambahkan)
-> centang opsi Subfolders of this location are also trusted jika seluruh isi terpercaya
-> bila perlu, isi keterangan tentang folder tersebut di bagian Description
-> tekan OK dan hasilnya akan seperti gambar di bawah ini : (lihat panah merah)


-> OK terus menerus sampai keluar dari Excel Options.

Sampai disini, lingkungan MS Office dan Excel Application sudah mulai terasa nyaman untuk belajar VBA. Langkah selanjutnya adalah mengetahui tempat untuk bisa berinteraksi menyusun script. Tempat tersebut bernama Visual Basic Editor (VBE). VBE bisa didatangi setidaknya melalui 3 cara berikut ini :
1. ribbon Developer -> grup Code -> tekan Visual Basic


2. menekan bersamaan tombol keyboard ALT dan F11 (seperti yang tertulis di tooltip yang dapat dilihat pada gambar di atas)

3. klik kanan nama sebuah sheet dalam sheets tab -> pilih View Code (khusus jika sudah ada workbook yang terbuka)


Sekarang, kita buat workbook baru, kemudian lakukan salah satu cara untuk ke VBE di atas, sehingga muncul window VBE seperti gambar.


Agar dalam belajar VBA nantinya bisa seragam, kita atur lingkungannya.
1. Pastikan properties window (frame kiri bawah pada gambar di atas) telah tampak. Jika belum tampak, tekan tombol F4.

2. Mengatur VBE Options dengan cara menu Tools -> Options


Pada dialog window VBE Options yang muncul, atur di setiap tab-nya seperti gambar
> tab Editor :


- Auto Syntax Check : aktif memeriksa setiap penulisan script agar segera diketahui kesalahan penulisan yang dilakukan ketika berpindah baris.
- Require Variable Declaration : menuntut adanya deklarasi dari setiap variabel yang digunakan, sehingga kita bisa sekaligus belajar disiplin dalam bermain variabel.
- Auto List Members : menampilkan daftar anggota sebuah object, baik berupa properties, methods, maupun konstanta yang dimilikinya.
- Auto Quick Info : menampilkan baris deklarasi methods terpilih, sehingga memudahkan dalam pengisian parameter-parameter input.
- Auto Data Tips : menampilkan informasi bagian yang ditunjuk mouse ketika debugging.

> tab Editor Format (beri centang pada item yang di kotak merah saja)


- Margin Indicator Bar : memberi jarak antara tepi Code Window dengan area penulisan script, sehingga memudahkan dalam meletakkan break-point.

> tab General :


> tab Docking :


3. tekan OK.

Oke guys, sekian dulu ya kenalannya. Kalau diteruskan sekarang, bisa-bisa nanti bosen.
Insya Allah pembahasan berikutnya adalah tentang jalan-jalan untuk mengetahui ruangan-ruangan yang ada di VBE.

:)

17 komentar:

  1. Setelah lama ditunggu, akhirnya ada juga yang bersedia mengajarkan ilmu VBA mulai tingkat yang paling dasar (belum kenal VBA sama sekali).

    Ditunggu seri berikutnya ^_^

    BalasHapus
  2. Inilah pahlawan tanpa tanda jasa yang sebenar-benarnya. Karena untuk menghasilkan artikel yang demikian menarik selain diperlukan pemahaman yang mendalam, pengetahuan tulis menulis juga diperlukan keahlian potong memotong gambar dan jiwa seni yang semuanya pasti butuh pengalaman dan waktu yang cukup panjang.....

    BalasHapus
  3. Liar Biasa,
    Jadi inget masa lalu di milis tetangga ada yang sering memberi penjelasan detail seperti ini. Terima kasih ya Om Kid.

    BalasHapus
  4. Ini yang ditunggu-tunggu, belajar VBA dari dasar abis. Yang paling penting belajar disiplin dalam pembuatan apaaja biar kalo ada yang salah bisa langsung ketahuan. Selama ini hanya copast script dan alhasil begitu tidak sesuai ada yg error jadi bingung errornya dimana hehehe
    Ditunggu pembahasan 001 nya Mas Kid

    BalasHapus
  5. Misi...misi.... numpang gelar tiker dipojokan (^_^)

    BalasHapus
  6. Alhamdulillah, Absen dulu,.. saya ada o^_^o

    BalasHapus
  7. Mauntab...
    Saya akan selalu Update Buntutin ni biar tidak ketinggalan..

    BalasHapus
  8. kangen mbah siti dengan segala bentuk penjelasannya

    BalasHapus
  9. Wah Bu Siti bisa VB ya? Pasti bisa VB6 juga dong, nanti kapan-kapan saya mau nanya ke Bu Siti untuk VB6, buat control jarak jauh, yang infonya bisa langsung masuk ke excel... Bisa kan Bu?

    ThanksU Bu,
    asanoer.com

    BalasHapus
  10. Min mau tanya kan saya nyoba buat program vba di excel untuk input data client biar instant
    nah pas udah di tahap ahir saya coba
    ternyata yg ke baca sama program vba nya malah ke sheet 2
    sementara yg saya pngn simpen data nya di sheet 1
    kira2 saya salah nya di bagian apa ?

    Regards.
    Tour and Travel Bandung

    BalasHapus
    Balasan
    1. Coba pada baris kode yang merujuk ke suatu range disertakan nama sheet si range.

      Misal dibaris kode ada yang bunyinya Range("a1") dari sheet bernama Asal, maka baris kode tersebut ditulis menjadi Sheets("Asal").Range("a1").
      Jika dibagian lain baris tersebut ternyata ada bunyi yang merujuk ke Range("c1") dari sheet Lain, maka ubah menjadi Sheets("Lain").Range("c1").

      Contohnya baris kode untuk menulis ke sheet Lain range c1 dengan nilai dari sheet Asal range a1 ditulis dengan :
      Sheets("Lain").Range("c1").value = Sheets("Asal").Range("a1").value

      Hapus
  11. Min mau tanya kan saya nyoba buat program vba di excel untuk input data berdasarkan tanggal dan jam yang ada pada sheet

    BalasHapus
    Balasan
    1. Coba kirimkan file dan pertanyaan ke milis (belajar-excel@yahoogroups.com)

      Hapus
  12. Terima kasih. Informasinya sangat membantu :)

    BalasHapus
  13. Assalamualaikum wr.wb. Saya ucapkan terima kasih banyak atas share ilmu VBA oleh Mr. Kid. Bahasanya mudah dipahami dan penulisannya runut per proses dan per bagian. Sangat membantu sekali bagi seseorang yang ingin belajar dari dasar. Sebaik-baik orang adalah yang bisa memberikan manfaat bagi orang lain. Semoga share ilmu dari Mr. Kid dapat menjadi amal jariyahnya. Aamiin. Sekali lagi terima kasih Mr. Kid, ditunggu share ilmu VBA selanjutnya :)

    BalasHapus