Daftar Isi:
Video: Tutorial Excel Indonesia:Bagian 1: Macro Excel Tingkat Dasar 2024
Kebanyakan bahasa pemrograman mendukung array, termasuk VBA. An array adalah sekelompok variabel yang berbagi nama. Anda mengacu pada variabel tertentu dalam array dengan menggunakan nama array dan nomor indeks dalam tanda kurung. Sebagai contoh, Anda dapat menentukan sebuah array dari 12 variabel string untuk menyimpan nama bulan dalam setahun. Jika Anda memberi nama array MonthNames , Anda dapat merujuk ke elemen pertama dari array sebagai MonthNames (1), elemen kedua sebagai MonthNames (2), dan seterusnya.
Mendeklarasikan array
Sebelum bisa menggunakan array, harus mendeklarasikannya. Tidak ada pengecualian. Berbeda dengan variabel normal, VBA sangat ketat mengenai peraturan ini. Anda mendeklarasikan sebuah array dengan pernyataan Dim atau Public, sama seperti Anda mendeklarasikan variabel biasa. Namun, Anda juga perlu menentukan jumlah elemen dalam array. Anda melakukan ini dengan menentukan nomor indeks pertama, kata kunci To, dan nomor indeks terakhir - semua di dalam tanda kurung. Contoh berikut menunjukkan bagaimana cara mendeklarasikan array dari 100 bilangan bulat:
Dim MyArray (1 To 100) Sebagai Integer
Saat Anda mendeklarasikan sebuah array, Anda dapat memilih untuk hanya menentukan indeks teratas. Jika Anda menghilangkan indeks yang lebih rendah, VBA mengasumsikan bahwa itu 0. Oleh karena itu, kedua pernyataan berikut mendeklarasikan array elemen-101 yang sama:
Dim MyArray (0 To 100) Sebagai Integer Dim MyArray (100) Sebagai Integer
Jika Anda ingin VBA menganggap bahwa 1 (bukan 0) adalah indeks yang lebih rendah untuk array Anda, sertakan pernyataan berikut di bagian Deklarasi di bagian atas modul Anda:
Option Base 1
Pernyataan ini memaksa VBA untuk menggunakan 1 sebagai nomor indeks pertama untuk array yang menyatakan hanya indeks atas. Jika pernyataan ini ada, pernyataan berikut sama, keduanya menyatakan elemen 100 elemen:
Dim MyArray (1 To 100) Sebagai Integer Dim MyArray (100) Sebagai Integer
array multidimensional
Array dibuat Pada contoh sebelumnya semua array satu dimensi. Pikirkan satu dimensi array sebagai satu baris nilai. Array yang Anda buat di VBA dapat memiliki sebanyak 60 dimensi - walaupun Anda jarang membutuhkan lebih dari dua atau tiga dimensi dalam array. Contoh berikut mendeklarasikan array 81-integer dengan dua dimensi:
Dim MyArray (1 sampai 9, 1 To 9) Sebagai Integer
Anda dapat memikirkan rangkaian ini sebagai menempati matriks 9 x 9 - cocok untuk menyimpan semua angka dalam teka-teki Sudoku.
Untuk merujuk pada elemen tertentu dalam array ini, Anda perlu menentukan dua nomor indeks (mirip dengan "baris" dan "kolom" nya di matriks).Contoh berikut menunjukkan bagaimana Anda dapat menetapkan nilai pada elemen dalam array ini:
MyArray (3, 4) = 125
Pernyataan ini memberikan nilai pada satu elemen dalam array. Jika Anda memikirkan array dalam hal matriks 9 x 9, ini memberi nilai 125 pada elemen yang berada di baris ketiga dan kolom keempat matriks.
Berikut adalah cara untuk mendeklarasikan array tiga dimensi, dengan 1, 000 elemen:
Dim My3DArray (1 sampai 10, 1 sampai 10, 1 sampai 10) Sebagai Integer
Anda dapat memikirkan dimensi tiga array sebagai sebuah kubus Memvisualisasikan array lebih dari tiga dimensi lebih sulit.
Dynamic array
Anda juga dapat membuat array dynamic . Array dinamis tidak memiliki sejumlah elemen preset. Deklarasikan array dinamis dengan kumpulan kurung kosong:
Dim MyArray () Sebagai Integer
Sebelum Anda dapat menggunakan array ini, Anda harus menggunakan pernyataan ReDim untuk memberi tahu VBA berapa banyak elemen yang dimiliki array. Biasanya, jumlah elemen dalam array ditentukan saat kode Anda berjalan. Anda dapat menggunakan pernyataan ReDim beberapa kali, mengubah ukuran array sesering yang diperlukan. Contoh berikut menunjukkan bagaimana mengubah jumlah elemen dalam array dinamis. Ini mengasumsikan bahwa variabel NumElements berisi nilai, yang dihitung kode Anda.
ReDim MyArray (1 To NumElements)
Saat Anda redimensi array dengan menggunakan ReDim, Anda menghapus nilai yang saat ini tersimpan dalam elemen array. Anda dapat menghindari penghancuran nilai lama dengan menggunakan kata kunci Pertahankan. Contoh berikut menunjukkan bagaimana Anda dapat mempertahankan nilai array saat Anda melakukan redimensi array:
ReDim Preserve MyArray (1 To NumElements)
Jika MyArray saat ini memiliki sepuluh elemen, dan Anda menjalankan pernyataan sebelumnya dengan NumElements yang setara dengan 12, sepuluh elemen pertama tetap utuh, dan array memiliki ruang untuk dua elemen tambahan (sampai jumlah yang terdapat dalam variabel NumElements). Jika NumElements sama dengan 7, tujuh elemen pertama dipertahankan namun tiga elemen sisanya memenuhi matinya.