Skip to content Skip to sidebar Skip to footer

Jangkauan Variabel dan Konstan pada Macro VBA Excel

Nilai suatu variabel macro yang menjadi acuan seringkali dapat diubah dengan mudah pada worksheet, namun ada situasi tertentu yang mengharuskan variabel atau nilai acuan tersebut jangan sampai dapat diubah di worksheet.

Caranya adalah dengan menggunakan statement konstan atau nilai tetap yang dimulai dengan menuliskan statement Const kemudian diikuti dengan nama konstan yang Anda tentukan sendiri lalu menetapkan jenis datanya dan terakhir menetapkan nilainya.

Konstan adalah nilai dalam macro yang tidak dapat diubah ketika macro berjalan.

Berbeda dengan variabel, semua bagian statement konstan tersebut berada dalam satu garis kode dan dituliskan sekali saja, seperti contoh berikut yaitu besar persentase komisi 7,25%:

Const PersenKomisi As Double = .0725

Baik variabel maupun konstan tidak akan bekerja selamanya dalam memori komputer karena memiliki jangkauan dan umur dalam Module dan Macro.

Umur variabel dimulai sejak ditetapkan dan berakhir setelah selesai dijalankan.

Jangkauan suatu variabel atau konstan tergantung bagaimana keduanya ditetapkan.

Jika ditetapkan di dalam sebuah macro, suatu variabel hanya bisa digunakan oleh macro tersebut.

Anda bisa menyebutnya sebagai jangkauan variabel dan konstan di tingkat Macro saja.

Contohnya kode Macro1 di bawah ini: 

Di saat Macro1 dijalankan maka perhitungan variabel B akan menghasilkan angka 5 (dengan cara menambahkan angka 4 dan variabel A yaitu 1):

Option Explicit

Sub Macro1()
Dim A As Integer, B As Integer
A = 1
B = A + 4
MsgBox B
End Sub

Kemudian Anda coba membuat Macro2 dengan penulisan yang sama seperti Macro1 namun tanpa menetapkan variabelnya seperti ini:

Option Explicit

Sub Macro1()
Dim A As Integer, B As Integer
A = 1
B = A + 4
MsgBox B
End Sub

Sub Macro2()
A = 1
B = A + 4
MsgBox B
End Sub

Meskipun Anda menerima pesan Compile Error: hanya karena variabel ditetapkan dimana saja pada macro bukan berarti VBA tidak mengenali variabel yang sama dalam macro yang lain.

Variabel sangat memungkinkan digunakan dalam module yang sama dan lebih dari satu buah macro apabila penempatannya berada di bagian atas Module dan bukan berada di dalam Macro tertentu. Sehingga ditulis seperti ini:

Option Explicit
Dim A As Integer, B As Integer

Sub Macro1()
A = 1
B = A + 4
MsgBox B
End Sub

Sub Macro2()
A = 1
B = A + 4
MsgBox B
End Sub

Inilah yang dinamakan dengan jangkauan variabel di tingkat Module.

Di tingkat aplikasi, variabel dapat memperluas jangkauannya hingga ke semua macro dan module dengan cara menempatkan statement Public di atas module standar contohnya seperti ini:

Public A As Integer
Public B As Integer

Sama halnya dengan variabel, untuk membuat konstan agar tersedia pada semua module dalam semua macro, maka tambahkan awalan statement Public seperti contoh:

Public Const PersenKomisi As Double = .0725

Demikian penjelasan mengenai jangkauan variabel dan konstan pada Macro VBA Excel, semoga bermanfaat.