Variabel dalam Macro VBA Excel
Apa itu Variabel dalam VBA?
Suatu variabel adalah sebuah nama yang Anda tentukan sendiri, nama tersebut merupakan sebutan dan petunjuk khusus bagi sebuah data yang tersimpan pada memori komputer agar memungkinkan Anda untuk mengacu pada data tersebut ketika Anda perlukan dalam menyusun kode macro.
VBA menangani tugas menemukan tempat yang tepat dalam memori komputer untuk menyimpan variabel data Anda dan ketika Anda memerlukan data tersebut dengan menyebut nama variabelnya maka dengan segera data tersebut dapat Anda terima.
Suatu statement variabel ditetapkan dari empat kata kunci yang tersusun sesuai dengan urutannya:
- Statement Dim singkatan dari Dimension dimana semua penamaan variabel dimulai dari sini.
- Nama variabel yang digunakan contohnya A.
- Kata As atau dalam bahasa Indonesia adalah "Sebagai".
- Jenis data yang akan disimpan contohnya Integer untuk bilangan.
Jadi, contoh penetapan statement variabel tersusun seperti berikut:
Dim A As Integer
Tabel Jenis Data VBA dan Besar Memori yang Terpakai
| Jenis Data | Spesifikasi | Memori yang tersimpan |
|---|---|---|
| Boolean | Angka 1 atau 0; True atau False; On atau Off. | 2 bit |
| Byte | Bilangan bulat dari 0 sampai 255. | 1 bit |
| Currency | Bilangan positif atau negatif 15 digit ke kiri dari titik desimal dan hanya 4 digit ke kanan dari titik desimal. | 8 bit |
| Decimal | Faktor skala pangkat 10 menetapkan digit bilangan ke kanan dari titik desimal dan terbentang dari 0 sampai 28. | 12 bit |
| Double | Suatu bilangan titik-kambang berkisar dari nilai -1.79769313486231E308 ke -4.94065645841247E-324 untuk bilangan negatif dan dari 4.94065645841247E-324 ke 1.79769313486231E308 untuk bilangan positif. | 8 bit |
| Integer | Suatu bilangan bulat berkisar dari -32.768 hingga 32.767. | 2 bit |
| Long | Suatu bilangan bulat berkisar dari -2.147.483.648 hingga 2.147.483.647. | 4 bit |
| Object | Suatu acuan kepada sebuah objek, misalnya barisan sel, grafik, pivot table, file workbook, sheet, atau objek lainnya pada aplikasi Excel. | 4 bit |
| Single | Suatu bilangan titik-kambang berkisar dari nilai -3.402823E38 ke -1.401298E-45 untuk bilangan negatif dan dari 1.401298E-45 ke 3.402823E38 untuk bilangan positif. | 4 bit |
| String | Ada dua jenis string: String Variable-length yang dapat menampung kira-kira 2 milyar karakter, dan String Fixed-length menampung 1 hingga 64.000 karakter. | Untuk Variable-length: 10 bit + penyimpanan string. Untuk Fixed-length hanya penyimpanan untuk string. |
| Variant | Jenis data untuk semua variabel yang tidak ditetapkan secara tegas atau eksplisit yang menampung semua jenis data kecuali data string jenis fixed-length. | Untuk yang berisi bilangan: 16 bit. Untuk yang berisi karakter atau aksara: 22 bit + penyimpanan untuk karakter. |
Syarat Pembuatan Nama Variabel VBA
- Harus unik dan khas tersendiri.
- Boleh menyertakan bilangan atau karakter garis bawah (underscore) tapi tidak boleh di awal karakter pertama nama variabel.
- Panjang karakter atau aksara tidak boleh lebih dari 255 karakter.
- Tidak boleh menyertakan spasi.
- Tidak boleh menyertakan karakter operasi matematika seperti +, -, /, *, =, <, >, atau ^.
- Tidak boleh menyertakan tanda baca seperti koma, titik, tanda tanya, atau tanda seru.
- Tidak boleh menyertakan karakter @, #, $, %, &, (, ), {, }, [, ], \, :, “, ‘, ’, ˜, atau |.
Yang jelas buat saja nama variabel yang sederhana dan ringkas tapi unik dan yang terpenting lagi bahwa nama variabel tersebut gunanya sebagai penunjuk yang mudah terhadap variabel yang dimaksud.
Cara Menetapkan Nilai ke dalam Variabel
Setelah statement variabel dibuat, selanjutnya Anda perlu menetapkan suatu nilai atau atribut ke dalam contoh variabel A. Sebagai contoh, ini adalah kode untuk menetapkan bilangan pada sel A1 ke dalam variabel A:
A = Range("A1").Value
Mengapa Anda Memerlukan Variabel pada Kode Macro?
Memanfaatkan suatu variabel merupakan pilihan yang bijaksana, anggap saja pada sel A1 terdapat bilangan yang akan dijadikan sebagai acuan untuk beberapa contoh analisis melalui macro.
Anda mendapatkan bilangan tersebut dengan mengacu pada selnya yaitu A1 setiap kalinya, akan tetapi Anda akan memaksa agar Excel melihat pada alamat sel tersebut dan mendapatkan kembali bilangan yang sama setiap kali ke dalam memori.
Sebagai contoh sederhana berikut ini kode macro untuk menjalankan empat perintah, yang mana semua nilainya mengacu pada sel yang sama yaitu A1:
Range("C1").Value = Range("A1").Value
Range("D1").Value = Range("A1").Value / 20
Range("E1").Value = Range("A1").Value * 20
MsgBox "Sel A1 berisi bilangan " & Range("A1").Value
End Sub
Seandainya bilangan acuan yang semula di sel A1 harus dipindahkan ke sel lain misalnya sel A3, maka mau tidak mau Anda harus menemukan setiap garis kode yang terkait dan mengubah sel acuan dari A1 ke A3.
Maka dari itu, cara yang tepat menangani situasi seperti ini adalah dengan menetapkan suatu variabel agar mengacu pada nilai dalam sel A1 yang hanya ditulis sekali saja, seperti ini:
Dim A As Integer
A = Range("A1").Value
Range("C1").Value = A
Range("D1").Value = A / 20
Range("E1").Value = A * 20
MsgBox "Sel A1 berisi bilangan " & A
End Sub
Dengan menetapkan variabel A pada nilai di sel A1 maka akan membuat kode macro Anda menjadi lebih mudah dibaca dan meningkatkan efisiensinya, selain itu VBA juga tetap menyimpan nilai bilangan dalam memori tanpa harus mengevaluasi sel A1 lagi dan ketika Anda ingin mengubah sel acuannya menjadi A3, maka Anda cukup mengedit garis kode kedua yaitu menjadi:
A = Range("A3").Value
Meskipun pemanfaatan variabel dalam VBA sangat dianjurkan namun bukan merupakan syarat mutlak untuk menjalankan fungsi seperti pada kode macro TanpaVariabel di atas.
Tips Menghindari Kesalahan Penulisan Variabel
Gaya penulisan dalam menetapkan suatu variabel bisa dengan cara membuat beberapa variabel dalam satu garis kode yang dipisahkan oleh sebuah tanda koma, seperti:
Dim A As Integer, Dim B As Integer, Dim C As Integer
Susunan tersebut di atas tidak akan menimbulkan kesalahan, melainkan jika gaya penulisannya seperti ini:
Dim A, B, C As Integer
Suatu nama variabel jika tanpa disertakan dengan jenis datanya seperti variabel A dan B maka VBA dengan sendirinya akan menugaskan jenis data Variant.
Hanya variabel C saja yang terlihat berjenis data Integer.
Agar komputer dapat mendukung performa kode macro Anda lebih mudah dibaca serta menjadi lebih cepat dan lancar, maka Anda harus menetapkan jenis data pada semua variabel Anda dengan tepat dan jelas.
Cara Mewajibkan Variabel di Kode Macro VBA
Jika suatu variabel tidak ditetapkan dalam kode macro maka akan menimbulkan banyak kendala dalam membaca kode dan melakukan debug.
Keuntungan menetapkan variabel adalah dapat membuat kode macro Anda berjalan lebih cepat dan lancar dan menggunakan sedikit upaya karena sedikit memori yang terpakai pada saat semua variabel ditetapkan dengan baik.
Anda bisa membuat VBA agar mewajibkan variabel ditulis pada kode dengan cara menuliskan statement Option Explicit di garis kode paling atas Module. Contoh kode macro berikut:
Sub WajibVariabel()
namasaya = "Yudi"
MsgBox namasaya
End Sub
Ketika Anda menjalankan kode macro tersebut maka akan memunculkan Compile Error: Variable not defined karena variabel namasaya tidak menyatakan statement contohnya seperti:
Supaya VBA menyertakan statement Option Explicit di setiap Module yang akan Anda masukkan, maka ikuti langkah-langkah berikut:
- Pada menu bar VBE Anda pilih menu Tools > Options.
- Pada kotak dialog Options pilih tab Editor kemudian tandai centang pada Require Variable Declaration.
- Klik OK.
Demikian penjelasan tentang variabel dalam Macro VBA Excel, semoga postingan ini bermanfaat.
