Macro for Newbie: Deklarasi Array dalam Macro

Array adalah satu variable berdimensi layaknya matriks, satu variable array dapat digunakan untuk menyimpan banyak nilai atau value, atau bisa disebut kelompok elemen yang memiliki tipe dan nama variable yang sama. Wah bikin pusing nih deskripsi seperti ini. Kita lihat melalui contoh saja:
variable1 = 1, variable2 = 2, variable3 = 3, dst. Daripada memiliki banyak nama variable, lebih baik semua variable tersebut dikelompokkan dalam Array dengan nama variable( i ), itu yang disebut array.

Seperti umumnya pemrograman kita harus mendeklarasikan variable array sebelum bisa digunakan dalam kode program, agar VBA mengetahui ukuran dari array tersebut. Cara deklarasinya menggunakan perintah Dim atau Public.

Dim myArray(1 to 100) as Integer

Dalam mendeklarasikan array, perlu ditentukan index awal (1 dalam contoh diatas) dan index akhir (100 dalam contoh diatas) sebagai ukuran dari array, atau kita cukup menentukan index akhirnya saja.
Dim myArray(100) as Integer

Kedua kode dibawah ini akan memberikan ukuran array yang sama,
Dim myArray(0 to 100) as Integer
Dim myArray(1 to 100) as Integer

Bedanya dengan menentukan 0 sebagai index awal, maka elemen array dimulai dari 0, myArray(0), dan elemen awal dari array di baris kedua menjadi myArray(1), tapi tetap sama-sama memiliki 100 elemen.

Secara default, index awal array dimulai dari angka 0, untuk mengubah nilai ini, gunakan perintah dibawah ini untuk mengubah nilai index awal default, kode ini harus diletakkan dibaris paling atas sebelum kode Procedure.
Option Base 1

Contoh-contoh array diatas hanya satu dimensi, array dalam VBA maksimal bisa terdiri atas 60 dimensi, tapi biasanya sangat jarang kita menggunakan array lebih dari 3 dimensi. Berikut contoh array dalam 2 dimensi.
Dim myArray(1 to 10, 1 to 100) as Integer

Untuk menggunakan array diatas, bisa digunakan perintah seperti ini

myArray(1,1) = 20
myArray(2,99) = 35

Atau gunakan perintah looping untuk menentukan nilai dari array ini

For i = 1 to 10 step 1
   For j = 1 to 100 step 1
      myArray(i, j) = i + j
   Next j
Next i

Selamat mencoba…

Beri Komentar