Skip to content Skip to sidebar Skip to footer

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:

  1. Statement Dim singkatan dari Dimension dimana semua penamaan variabel dimulai dari sini.
  2. Nama variabel yang digunakan contohnya A.
  3. Kata As atau dalam bahasa Indonesia adalah "Sebagai".
  4. 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 DataSpesifikasiMemori yang tersimpan
BooleanAngka 1 atau 0; True atau False; On atau Off.2 bit
ByteBilangan bulat dari 0 sampai 255.1 bit
CurrencyBilangan positif atau negatif 15 digit ke kiri dari titik desimal dan hanya 4 digit ke kanan dari titik desimal.8 bit
DecimalFaktor skala pangkat 10 menetapkan digit bilangan ke kanan dari titik desimal dan terbentang dari 0 sampai 28.12 bit
DoubleSuatu 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
IntegerSuatu bilangan bulat berkisar dari -32.768 hingga 32.767.2 bit
LongSuatu bilangan bulat berkisar dari -2.147.483.648 hingga 2.147.483.647.4 bit
ObjectSuatu acuan kepada sebuah objek, misalnya barisan sel, grafik, pivot table, file workbook, sheet, atau objek lainnya pada aplikasi Excel.4 bit
SingleSuatu 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
StringAda 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.
VariantJenis 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

  1. Harus unik dan khas tersendiri.
  2. Boleh menyertakan bilangan atau karakter garis bawah (underscore) tapi tidak boleh di awal karakter pertama nama variabel.
  3. Panjang karakter atau aksara tidak boleh lebih dari 255 karakter.
  4. Tidak boleh menyertakan spasi.
  5. Tidak boleh menyertakan karakter operasi matematika seperti +, -, /, *, =, <, >, atau ^.
  6. Tidak boleh menyertakan tanda baca seperti koma, titik, tanda tanya, atau tanda seru.
  7. 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:

Sub TanpaVariabel()
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:

Sub DenganVariabel()
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:

Option Explicit

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:

Dim namasaya As String

Supaya VBA menyertakan statement Option Explicit di setiap Module yang akan Anda masukkan, maka ikuti langkah-langkah berikut:

  1. Pada menu bar VBE Anda pilih menu Tools > Options.
  2. Pada kotak dialog Options pilih tab Editor kemudian tandai centang pada Require Variable Declaration.
  3. Klik OK.

Demikian penjelasan tentang variabel dalam Macro VBA Excel, semoga postingan ini bermanfaat.