Saat menulis kode VBA, Anda akan sering membuat variabel untuk menyimpan data. Semakin besar program yang dibuat, semakin banyak pula variabel yang digunakan.
Di sinilah kesalahan kecil sering terjadi. Misalnya, Anda bermaksud menggunakan variabel TotalPenjualan, tetapi tanpa sengaja mengetiknya menjadi TotalPenjulan.
Jika VBA tidak mendeteksi kesalahan tersebut, program tetap berjalan, tetapi hasilnya bisa menjadi tidak sesuai harapan. Kesalahan seperti ini sering kali sulit ditemukan karena tidak selalu menghasilkan Run-time Error.
Untuk membantu mencegah masalah tersebut, VBA menyediakan pernyataan Option Explicit.
Apa Itu Option Explicit?
Option Explicit adalah pernyataan yang mengharuskan setiap variabel dideklarasikan terlebih dahulu sebelum digunakan.
Jika ada variabel yang belum dideklarasikan, VBA akan menampilkan kesalahan saat proses kompilasi (Compile Error), sehingga kesalahan dapat diketahui lebih awal.
Pernyataan ini ditulis pada bagian paling atas module.
Option Explicit
Mengapa Option Explicit Penting?
Tanpa Option Explicit, VBA akan membuat variabel baru secara otomatis ketika menemukan nama variabel yang belum pernah dideklarasikan.
Contoh:
Sub Contoh()
Dim TotalPenjualan As Double
TotalPenjualan = 5000000
TotalPenjulan = TotalPenjualan + 1000000
MsgBox TotalPenjualan
End Sub
Perhatikan bahwa variabel kedua ditulis sebagai:
TotalPenjulan
Padahal yang benar adalah:
TotalPenjualan
Tanpa Option Explicit, VBA menganggap TotalPenjulan sebagai variabel baru. Program mungkin tetap berjalan, tetapi hasil yang diperoleh menjadi tidak sesuai.
Contoh Menggunakan Option Explicit
Tambahkan pernyataan berikut di bagian atas module.
Option Explicit
Kemudian jalankan kode sebelumnya.
VBA akan langsung menampilkan Compile Error: Variable not defined pada variabel yang salah ketik.
Dengan demikian, kesalahan dapat diperbaiki sebelum program dijalankan.
Cara Kerja Option Explicit
Ketika Option Explicit aktif, VBA akan memeriksa seluruh nama variabel saat proses kompilasi.
Jika ditemukan variabel yang:
-
belum dideklarasikan menggunakan
Dim,Private,Public, atauStatic; -
salah penulisan nama;
-
belum dikenali oleh compiler;
maka proses kompilasi akan dihentikan hingga kesalahan diperbaiki.
Contoh Deklarasi yang Benar
Option Explicit
Sub HitungTotal()
Dim Harga As Double
Dim Jumlah As Integer
Dim Total As Double
Harga = 25000
Jumlah = 8
Total = Harga * Jumlah
MsgBox Total
End Sub
Semua variabel telah dideklarasikan sehingga kode lebih aman.
Studi Kasus
Misalkan Anda sedang membuat program perhitungan gaji.
Option Explicit
Sub HitungGaji()
Dim GajiPokok As Double
Dim Bonus As Double
Dim TotalGaji As Double
GajiPokok = 4500000
Bonus = 750000
TotalGji = GajiPokok + Bonus
MsgBox TotalGaji
End Sub
Variabel berikut:
TotalGji
seharusnya ditulis sebagai:
TotalGaji
Karena menggunakan Option Explicit, VBA akan langsung memberi tahu adanya variabel yang belum dideklarasikan.
Cara Mengaktifkan Option Explicit Secara Otomatis
Agar setiap module baru otomatis memiliki Option Explicit, lakukan langkah berikut.
-
Buka Visual Basic Editor dengan menekan Alt + F11.
-
Pilih menu Tools → Options.
-
Buka tab Editor.
-
Centang Require Variable Declaration.
-
Klik OK.
Mulai saat itu, setiap module baru akan otomatis diawali dengan:
Option Explicit
Option Explicit vs Dim
Banyak pemula mengira keduanya memiliki fungsi yang sama.
Padahal berbeda.
Option Explicit | Dim |
|---|---|
| Mengharuskan deklarasi variabel | Mendeklarasikan variabel |
| Ditulis sekali di bagian atas module | Ditulis setiap kali membuat variabel |
| Berlaku untuk seluruh module | Berlaku pada variabel tertentu |
Keduanya saling melengkapi, bukan saling menggantikan.
Kesalahan yang Sering Terjadi
Menganggap Option Explicit Membuat Variabel
Option Explicit tidak membuat variabel.
Anda tetap harus menulis deklarasi seperti:
Dim Total As Double
Menambahkan Option Explicit di Tengah Module
Option Explicit hanya boleh ditulis sebelum prosedur pertama.
Salah:
Sub Contoh()
Option Explicit
Benar:
Option Explicit
Sub Contoh()
Mengabaikan Compile Error
Jika VBA menampilkan pesan:
Variable not defined
jangan langsung menghapus Option Explicit.
Periksa apakah:
-
nama variabel salah ketik;
-
variabel belum dideklarasikan;
-
atau terdapat kesalahan penulisan lainnya.
Tips Praktis
💡 Gunakan Option Explicit pada setiap module VBA.
💡 Aktifkan Require Variable Declaration agar tidak perlu menuliskannya secara manual setiap kali membuat module baru.
💡 Berikan nama variabel yang jelas dan konsisten untuk mengurangi risiko salah ketik.
💡 Selalu lakukan proses Compile VBA Project sebelum mendistribusikan aplikasi.
💡 Jangan pernah menghapus Option Explicit hanya karena muncul pesan kesalahan. Perbaiki penyebabnya.
Ringkasan
| Pernyataan | Fungsi |
|---|---|
Option Explicit |
Mengharuskan semua variabel dideklarasikan |
Dim |
Mendeklarasikan variabel lokal |
Private |
Mendeklarasikan variabel tingkat module |
Public |
Mendeklarasikan variabel global |
Static |
Mendeklarasikan variabel yang mempertahankan nilainya |
Kesimpulan
Option Explicit merupakan salah satu praktik terbaik dalam pemrograman VBA Excel. Dengan mengharuskan setiap variabel dideklarasikan, pernyataan ini membantu mencegah kesalahan akibat salah pengetikan nama variabel, membuat proses debugging menjadi lebih mudah, dan meningkatkan kualitas kode secara keseluruhan. Meskipun hanya terdiri dari satu baris, manfaat yang diberikan sangat besar, terutama ketika Anda mengembangkan aplikasi VBA yang kompleks.
