Memahami Variabel dan Konstanta di Makro Excel

Dalam artikel ini, Anda akan mempelajari apa itu konstanta dan variabel dalam makro, di mana mereka dapat digunakan, dan apa perbedaan utama antara tipe data yang berbeda. Ini juga akan mengungkapkan mengapa konstanta diperlukan, jika Anda hanya dapat menulis variabel dan tidak pernah mengubahnya.

Seperti bahasa pemrograman lainnya, data dapat disimpan dalam variabel atau konstanta (keduanya juga sering disebut sebagai wadah data). Inilah perbedaan utama antara konsep-konsep ini. Yang pertama dapat berubah tergantung pada apa yang terjadi dalam program. Pada gilirannya, konstanta ditetapkan satu kali dan tidak mengubah nilainya.

Konstanta dapat berguna jika Anda perlu menggunakan nilai besar yang sama beberapa kali. Alih-alih menyalin nomor, Anda cukup menulis nama konstanta. Misalnya, Anda dapat menggunakan konstanta "Pi" untuk menyimpan Pi, yang merupakan nilai konstan. Ini sangat besar, dan setiap kali cukup sulit untuk menulis atau mencari dan menyalinnya. Jadi, cukup menulis dua karakter, dan lingkungan secara otomatis menggunakan nomor yang diinginkan.

Pengguna Excel perlu mendeklarasikan variabel jika dia perlu mengubah nilai yang disimpan di dalamnya dari waktu ke waktu. Misalnya, Anda dapat menetapkan variabel yang disebut sVAT_Rate, yang akan menyimpan tarif PPN saat ini untuk produk. Jika berubah, Anda dapat dengan cepat memperbaikinya. Ini sangat berguna bagi mereka yang melakukan bisnis di Amerika Serikat, di mana beberapa barang mungkin tidak dikenakan PPN sama sekali (dan pajak ini juga berbeda dari satu negara bagian ke negara bagian lainnya).

Jenis Data

Setiap wadah data dapat menjadi salah satu dari beberapa jenis. Berikut adalah tabel yang menjelaskan jenis standar informasi yang diproses. Ada banyak dari mereka, dan mungkin bagi pemula awalnya mereka mengulangi satu sama lain. Tapi ini adalah perasaan ilusi. Baca terus untuk mengetahui mengapa menentukan tipe data yang benar sangat penting.

Tidak disarankan untuk menggunakan tipe data yang memakan lebih banyak ruang di memori untuk jumlah kecil. Misalnya untuk nomor 1 cukup menggunakan tipe Byte. Ini akan berdampak positif pada kinerja modul yang dapat dieksekusi, terutama pada komputer yang lemah. Tetapi penting untuk tidak pergi terlalu jauh di sini. Jika Anda menggunakan tipe data yang terlalu ringkas, nilai yang terlalu besar mungkin tidak muat di dalamnya.

Mendeklarasikan Konstanta dan Variabel

Menggunakan wadah data tanpa terlebih dahulu mendeklarasikannya sangat tidak disarankan. Kemudian sejumlah masalah dapat muncul, untuk menghindarinya perlu menulis beberapa baris kode kecil dengan enumerasi variabel atau konstanta.

Untuk mendeklarasikan variabel, pernyataan Dim digunakan. Misalnya, seperti ini:

Redupkan Variabel_Nama Sebagai Integer

Variabel_Name adalah nama variabel. Selanjutnya, operator As ditulis, menunjukkan tipe data. Alih-alih string "Variable_Name" dan "Integer", Anda dapat memasukkan nama dan tipe data Anda sendiri.

Konstanta juga dapat dideklarasikan, tetapi Anda harus menentukan nilainya terlebih dahulu. Salah satu opsinya adalah:

Konst iMaxCount = 5000

Dalam keadilan, dalam beberapa kasus Anda dapat melakukannya tanpa mendeklarasikan variabel, tetapi dalam kasus ini mereka akan secara otomatis diberi tipe Varian. Namun, ini tidak disarankan karena alasan berikut:

  1. Varian diproses jauh lebih lambat, dan jika ada banyak variabel seperti itu, pemrosesan informasi dapat diperlambat secara signifikan pada komputer yang lemah. Tampaknya detik-detik itu akan memutuskan? Tetapi jika Anda harus menulis banyak baris kode, dan kemudian menjalankannya juga di komputer yang lemah (yang masih dijual, mengingat suite kantor modern membutuhkan banyak RAM), Anda dapat menghentikan pekerjaan sepenuhnya. Ada kasus-kasus ketika penulisan makro yang disalahpahami menyebabkan pembekuan buku pintar yang memiliki sedikit RAM dan tidak dirancang untuk melakukan tugas-tugas kompleks. 
  2. Kesalahan cetak nama diperbolehkan, yang dapat dicegah dengan menggunakan pernyataan Option Explicit, yang memungkinkan Anda menemukan variabel yang tidak dideklarasikan, jika ditemukan. Ini adalah cara mudah untuk mendeteksi kesalahan, karena kesalahan ketik sekecil apa pun menyebabkan penerjemah tidak dapat mengidentifikasi variabel. Dan jika Anda mengaktifkan mode deklarasi variabel, penerjemah tidak akan mengizinkan Anda menjalankan makro jika wadah data ditemukan yang tidak dideklarasikan di awal modul.
  3. Menghindari kesalahan yang disebabkan oleh nilai variabel yang tidak sesuai dengan tipe data. Biasanya, menetapkan nilai teks ke variabel integer akan menimbulkan kesalahan. Ya, di satu sisi, tipe generik diberikan tanpa deklarasi, tetapi jika dideklarasikan terlebih dahulu, maka kesalahan acak dapat dihindari.

Oleh karena itu, terlepas dari segalanya, sangat disarankan untuk mendeklarasikan semua variabel di makro Excel.

Ada satu hal lagi yang perlu diingat ketika mendeklarasikan variabel. Dimungkinkan untuk tidak menetapkan nilai apa pun ke variabel saat mendeklarasikannya, tetapi dalam hal ini ia memperoleh nilai default. Sebagai contoh:

  1. Garis dibuat kosong.
  2. Angka-angka mengambil nilai 0.
  3. Variabel tipe Boolean awalnya dianggap salah.
  4. Tanggal default adalah 30 Desember 1899.

Misalnya, Anda tidak perlu menetapkan nilai 0 ke variabel integer jika tidak ada nilai yang ditentukan sebelumnya. Dia sudah berisi nomor ini.

Pernyataan Eksplisit Opsi

Pernyataan ini memungkinkan Anda untuk mendeklarasikan semua variabel yang digunakan dalam kode VBA dan menentukan keberadaan wadah yang tidak dideklarasikan sebelum kode dijalankan. Untuk menggunakan fitur ini, cukup tulis sebaris kode Option Explicit di bagian paling atas kode makro.

Jika Anda perlu menyertakan pernyataan ini dalam kode Anda setiap saat, Anda dapat melakukannya menggunakan pengaturan khusus di editor VBA. Untuk mengaktifkan opsi ini, Anda harus:

  1. Buka lingkungan pengembangan di sepanjang jalur – Alat > Opsi.
  2. Di jendela yang terbuka setelah ini, buka tab Editor.
  3. Dan terakhir, centang kotak di sebelah item Require Variable Declaration.

Setelah menyelesaikan langkah-langkah ini, klik tombol "OK". 

Itu saja, sekarang ketika menulis setiap makro baru, baris ini akan disisipkan di bagian atas kode secara otomatis.

Lingkup Konstanta dan Variabel

Setiap variabel atau konstanta hanya memiliki ruang lingkup terbatas. Itu tergantung di mana Anda mendeklarasikannya.

Misalkan kita memiliki fungsi Total biaya(), dan menggunakan variabel sPPN_Rate. Tergantung pada posisi dalam modul, itu akan memiliki ruang lingkup yang berbeda:

Opsi Eksplisit

Redupkan sVAT_Rate Sebagai Single

Fungsi Total_Cost() Sebagai Ganda

.

.

.

End Function

Jika sebuah variabel dideklarasikan di bagian atas modul itu sendiri, variabel itu menyebar ke seluruh modul itu. Artinya, dapat dibaca oleh setiap prosedur.

Selain itu, jika salah satu prosedur mengubah nilai variabel, maka prosedur berikutnya juga akan membaca nilai yang dikoreksi ini. Tapi di modul lain variabel ini tetap tidak akan terbaca.

Opsi Eksplisit

Fungsi Total_Cost() Sebagai Ganda

Redupkan sVAT_Rate Sebagai Single

   .

   .

   .

End Function

Dalam hal ini, variabel dideklarasikan di dalam prosedur, dan interpreter akan membuat kesalahan jika digunakan dalam prosedur lain.

Jika Anda ingin variabel dibaca oleh modul lain, Anda harus menggunakan kata kunci Publik alih-alih kata kunci Dim. Demikian pula, Anda dapat membatasi ruang lingkup variabel hanya untuk modul saat ini dengan menggunakan pernyataan Publik, yang ditulis sebagai ganti kata Dim.

Anda dapat mengatur cakupan konstanta dengan cara yang sama, tetapi kata kunci di sini ditulis bersama dengan operator Const.

Berikut adalah tabel dengan contoh yang baik tentang cara kerjanya dengan konstanta dan variabel.

Opsi Eksplisit

sVAT_Rate publik Sebagai Tunggal

iMax_Count Public Const = 5000

Dalam contoh ini, Anda dapat melihat bagaimana kata kunci Publik digunakan untuk mendeklarasikan variabel, dan apa yang perlu Anda tulis di editor Visual Basic untuk mendeklarasikan konstanta publik. Cakupan wadah nilai ini berlaku untuk semua modul.
Opsi Eksplisit

sVAT_Rate Pribadi Sebagai Tunggal

Const Pribadi iMax_Count = 5000

Di sini, variabel dan konstanta dideklarasikan menggunakan kata kunci Private. Ini berarti bahwa mereka hanya dapat dilihat di dalam modul saat ini, dan prosedur di modul lain tidak dapat menggunakannya.

Mengapa konstanta dan variabel diperlukan

Penggunaan konstanta dan variabel memungkinkan Anda untuk meningkatkan tingkat pemahaman kode. Dan jika pemula pada umumnya tidak memiliki pertanyaan tentang mengapa variabel diperlukan, maka ada banyak ambiguitas mengenai perlunya konstanta. Dan pertanyaan ini tampaknya, pada pandangan pertama, cukup logis. Bagaimanapun, Anda dapat mendeklarasikan variabel sekali dan tidak pernah mengubahnya lagi.

Jawabannya ternyata berada di suatu tempat di bidang yang sama sehubungan dengan penggunaan tipe data yang menempati ruang besar di memori. Jika kita berurusan dengan sejumlah besar variabel, kita dapat secara tidak sengaja mengubah wadah yang ada. Jika pengguna menetapkan bahwa nilai tertentu tidak akan pernah berubah, maka lingkungan akan secara otomatis mengontrolnya.

Ini sangat penting ketika makro ditulis oleh beberapa programmer. Orang mungkin tahu bahwa beberapa variabel tidak boleh berubah. Dan yang lainnya tidak. Jika Anda menentukan operator Const, pengembang lain akan mengetahui bahwa nilai ini tidak berubah.

Atau, jika ada konstanta dengan satu nama, dan variabelnya memiliki nama yang berbeda tetapi mirip. Pengembang hanya dapat membingungkan mereka. Misalnya, satu variabel yang tidak perlu diubah disebut Variabel11, dan variabel lain yang dapat diedit disebut Variabel1. Seseorang dapat secara otomatis, saat menulis kode, secara tidak sengaja melewatkan unit tambahan dan tidak menyadarinya. Akibatnya, wadah untuk nilai akan diubah, yang tidak boleh disentuh.

Atau pengembang sendiri mungkin lupa variabel mana yang bisa dia sentuh dan mana yang tidak. Ini sering terjadi ketika kode ditulis selama beberapa minggu, dan ukurannya menjadi besar. Selama waktu ini, sangat mudah untuk melupakan apa arti variabel ini atau itu.

Ya, Anda dapat melakukannya dengan komentar dalam situasi ini, tetapi bukankah lebih mudah untuk menentukan kata Const?

Kesimpulan

Variabel adalah komponen penting dari pemrograman makro, yang memungkinkan Anda untuk melakukan operasi kompleks, mulai dari perhitungan hingga memberi tahu pengguna tentang peristiwa tertentu atau menentukan nilai tertentu dalam sel spreadsheet.

Konstanta harus digunakan jika pengembang tahu pasti bahwa isi wadah ini tidak akan berubah di masa mendatang. Disarankan untuk tidak menggunakan variabel sebagai gantinya, karena mungkin saja membuat kesalahan secara tidak sengaja.

Tinggalkan Balasan