Array Tetap dalam Macro VBA Excel
Ciri dari suatu array tetap adalah memiliki sekumpulan elemen berupa nilai tetap, contohnya nama-nama hari dalam satu minggu, yang mana akan selalu berjumlah tujuh hari dengan nama yang tidak akan pernah berubah.
Dalam Excel, Fungsi WEEKDAY menghasilkan bilangan bulat dari 1 sampai 7 yang mewakili nama hari dalam seminggu, 1 mewakili Minggu, 2 untuk Senin, dan seterusnya.
Saat Anda membuat rumus =WEEKDAY(2) pada suatu sel, dengan format sel custom menjadi DDDD, maka sel yang ditampilkan menjadi Senin jika pengaturan locale bahasa komputer Anda telah diatur menjadi Indonesia.
Contoh Macro berikut ini akan menjelaskan cara menghasilkan barisan sel yang memuat nama-nama hari dalam seminggu ke dalam kolom A.
Berikut ini langkah-langkahnya:
1. Buka VBE di Excel dengan Alt+F11.
2. Buat module dari menu Insert > Module.
3. Pada module baru ketik contoh judul macro misalnya ContohArrayTetap:
Sub ContohArrayTetap()
4. Tetapkan variabel array untuk tujuh elemen (mulai dari hingga 6):
Dim Hari(6) As String
5. Tetapkan variabel berjenis data Integer untuk menampung ketujuh elemen tersebut:
Dim NoHari As Integer
6. Gunakan loop untuk setiap elemen array yang dimulai dari batasan bawah 0.
For NoHari = 0 To 6
7. Tidak akan ada hasil dari fungsi Weekday jika nilainya itu 0, karena fungsi Weekday dalam Excel selalu dimulai dari angka 1 sampai 7, maka tambahkan notasi "+ 1" untuk menambahkan 1 hari pada angka tersebut:
Hari(NoHari) = Format(Weekday(NoHari + 1), "DDDD")
8. Barisan sel yang dihasilkan berada di alamat sel A1:A7:
Range("A" & NoHari + 1).Value = Hari(NoHari)
9. Lanjutkan proses loop sampai selesai:
Next NoHari
Berikut kode lengkapnya;
Dim Hari(6) As String
Dim NoHari As Integer
For NoHari = 0 To 6
Hari(NoHari) = Format(Weekday(NoHari + 1), "DDDD")
Range("A" & NoHari + 1).Value = Hari(NoHari)
Next NoHari
End Sub
Itulah sedikit penjelasan tentang contoh array tetap dalam suatu kode macro VBA Excel.
Selamat mencoba mempraktikkan dan semoga bermanfaat.
