Praktik pertama: menyusun jendela VBE, mengaktifkan Auto Syntax Check dan Require Variable Declaration, menulis macro pertama dengan Sub dan MsgBox, lalu menjalankannya lewat F5 dan Macro dialog

Setelah di episode 2 kita memahami arsitektur VBA — host application, Object Model, dan OLE Automation — sekarang saatnya menulis kode sungguhan. Episode ini adalah momen "hello world" kalian: mengenal setiap sudut VBE lalu menulis macro pertama yang benar-benar berjalan.
Mengapa episode ini penting? Karena VBE adalah rumah kalian untuk 22 episode ke depan. Semakin cepat kalian hafal cara kerjanya — di mana menulis kode, bagaimana menjalankan, bagaimana melihat output — semakin lancar semua praktik berikutnya.
Buka VBE dengan Alt+F11 dari Excel. Kalian akan melihat empat area utama:
| Area | Fungsi | Tampilkan dengan |
|---|---|---|
| Project Explorer | Daftar semua proyek & modul | Ctrl+R |
| Code window | Tempat menulis kode | F7 |
| Immediate window | Eksekusi cepat & Debug.Print | Ctrl+G |
| Properties window | Properti modul & kontrol | F4 |
Jika ada yang hilang, aktifkan lewat menu View. Susunan ideal untuk series ini: Project Explorer di kiri, Code window di kanan, Immediate di bawah.
Alt+F11 # buka/tutup VBE
Ctrl+R # Project Explorer
Ctrl+G # Immediate window
F7 # pindah ke Code window
F5 # jalankan macro
F8 # eksekusi baris per baris (debugging)Sebelum menulis kode, konfigurasi dua opsi yang menyelamatkan kalian dari bug. Buka menu Tools → Options di VBE:
Option Explicit di setiap modul baru. Ini memaksa semua variabel dideklarasikan — kita bahas alasannya di episode 5.Tip
Centang Require Variable Declaration sekarang. Meskipun terasa menyebalkan di awal, kebiasaan ini mencegah salah ketik nama variabel yang mengubah angka diam-diam — kesalahan paling mahal di VBA.
Kode macro biasa ditulis di Standard Module. Klik kanan pada nama proyek di Project Explorer → Insert → Module. Sebuah modul bernama Module1 muncul, dan Code window terbuka. Sekarang kalian siap menulis kode.
Ketik kode berikut di dalam modul:
Sub Hello()
MsgBox "Hello, VBA!"
End SubMari bedah strukturnya:
Sub Hello() — deklarasi prosedur bernama Hello. Sub (kependekan dari subroutine) adalah prosedur yang menjalankan aksi tanpa mengembalikan nilai.MsgBox "Hello, VBA!" — memunculkan kotak pesan. Ini fungsi output paling dasar di VBA.End Sub — penutup prosedur. Semua kode harus berada di antara Sub dan End Sub.Ada tiga cara menjalankan:
Alt+F8), pilih Hello, klik Run.Pilih cara mana pun — sebuah kotak pesan berisi "Hello, VBA!" harus muncul.
Note
Kalau yang muncul justru menu Macro di Excel, periksa bahwa kursor berada di dalam prosedur Hello() saat menekan F5. VBA menjalankan prosedur yang sedang aktif di Code window.
Sekarang simpan workbook kalian. Karena berisi macro, Excel akan memaksa format Excel Macro-Enabled Workbook (.xlsm):
Ctrl+S).~/Documents/vba-lab.hello-vba.xlsm.Jika memilih .xlsx, Excel menampilkan peringatan bahwa macro akan dihilangkan — dan seluruh kode kalian hilang. Selalu perhatikan format ini.
Sekarang kita naik satu level: macro yang menyapa dengan nama. Tambahkan prosedur kedua di modul yang sama:
Sub Greet()
Dim nama As String
nama = InputBox("Siapa nama kalian?")
MsgBox "Halo " & nama & "! Selamat datang di Belajar VBA."
End SubDi sini kalian baru saja memakai tiga elemen inti:
Dim nama As String — deklarasi variabel bertipe teks.InputBox(...) — meminta input dari pengguna.& — operator penggabung string di VBA.Jalankan Greet dengan F5, isi nama, dan lihat pesannya. Detail Dim, tipe data, dan & dibahas mendalam di episode 5.
| Kesalahan | Gejala | Solusi |
|---|---|---|
Menyimpan sebagai .xlsx | Macro hilang | Gunakan .xlsm |
Menulis kode di luar Sub...End Sub | Error saat kompilasi | Semua kode eksekusi harus di dalam prosedur |
Lupa End Sub | Error Expected End Sub | Tutup prosedur dengan End Sub |
| Nama prosedur mengandung spasi | Error Invalid procedure name | Gunakan tanpa spasi, mis. HelloWorld |
| Salah tab saat F5 | Macro lain yang jalan | Posisikan kursor di dalam prosedur target |
Pada episode 3 ini, kalian sudah menulis dan menjalankan macro pertama.
Inti yang harus dibawa pulang:
Sub ... End Sub.Di episode 4 selanjutnya kita akan membahas Macro Recorder — fitur yang merekam aksi kalian menjadi kode VBA otomatis — cara membaca hasil rekamannya, membersihkan kode mentah, dan mengapa recorder adalah alat belajar Object Model terbaik tapi bukan sumber kode produksi. Sampai jumpa di episode 4!