Ringkasan
Artikel ini berisi contoh prosedur Microsoft Visual Basic for Applications yang bisa Anda gunakan untuk bekerja dengan beberapa tipe array.
Informasi Selengkapnya
Microsoft menyediakan contoh pemrograman untuk ilustrasi saja, tanpa jaminan baik tersurat maupun tersirat. Ini termasuk, tetapi tidak terbatas pada, jaminan tersirat dari kelayakan jual atau kesesuaian untuk tujuan tertentu. Artikel ini mengasumsikan bahwa Anda sudah terbiasa dengan bahasa pemrograman yang ditunjukkan dan dengan alat yang digunakan untuk membuat dan men-debug prosedur. Teknisi dukungan Microsoft dapat membantu menjelaskan fungsionalitas prosedur tertentu, tetapi mereka tidak akan mengubah contoh ini untuk menyediakan fungsionalitas tambahan atau prosedur konstruksi untuk memenuhi persyaratan tertentu Anda. CATATAN: Dalam prosedur Visual Basic for Applications, kata setelah apostrof (') adalah komentar.
Untuk Mengisi Array lalu Menyalinnya ke Lembar Kerja
-
Buka buku kerja baru dan sisipkan lembar modul Visual Basic.
-
Ketik kode berikut pada lembar modul.
Sub Sheet_Fill_Array() Dim myarray As Variant myarray = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) Range("a1:a10").Value = Application.Transpose(myarray) End Sub
-
Pilih Sheet1.
-
Pada menu Alat, arahkan ke Makro lalu klik Makro.
-
Dalam kotak dialog Makro, klik Sheet_Fill_Array, lalu klik Jalankan.
Untuk Mengambil Nilai dari Lembar Kerja dan Mengisi Array
-
Ketikkan nilai di Sheet1 dalam sel A1:A10.
-
Pada lembar modul Visual Basic, ketik kode berikut ini:
Sub from_sheet_make_array() Dim thisarray As Variant thisarray = Range("a1:a10").Value counter = 1 'looping structure to look at array While counter <= UBound(thisarray) MsgBox thisarray(counter, 1) counter = counter + 1 Wend End Sub
-
Pilih Sheet1.
-
Pada menu Alat, arahkan ke Makro lalu klik Makro.
-
Dalam kotak dialog Makro, klik from_sheet_make_array, lalu klik Jalankan.
Untuk Lulus dan Menerima Array
-
Pada lembar modul, ketik kode berikut:
Sub pass_array() Dim thisarray As Variant thisarray = Selection.Value receive_array (thisarray) End Sub Sub receive_array(thisarray) counter = 1 While counter <= UBound(thisarray) MsgBox thisarray(counter, 1) counter = counter + 1 Wend End Sub
-
Pilih Lembar1, dan sorot rentang A1:A10.
-
Pada menu Alat, arahkan ke Makro lalu klik Makro.
-
Dalam kotak dialog Makro, klik pass_array, lalu klik Jalankan.
Untuk Membandingkan Dua Array
-
Buat dua rentang bernama di Sheet1. Beri nama satu rentang1 dan rentang lainnya2.
Misalnya, sorot rentang sel A1:A10 dan beri nama rentang1; sorot rentang sel B1:B10 dan beri nama rentang2. -
Ketik kode berikut pada lembar modul.
Sub compare_two_array() Dim thisarray As Variant Dim thatarray As Variant thisarray = Range("range1").Value thatarray = Range("range2").Value counter = 1 While counter <= UBound(thisarray) x = thisarray(counter, 1) y = thatarray(counter, 1) If x = y Then MsgBox "yes" Else MsgBox "no" End If counter = counter + 1 Wend End Sub
-
Pilih Lembar2.
-
Pada menu Alat, arahkan ke Makro lalu klik Makro.
-
Dalam kotak dialog Makro, klik compare_two_array, lalu klik Jalankan.
Anda akan melihat satu kotak pesan untuk setiap perbandingan.
Untuk Mengisi Array Dinamis
-
Pada lembar modul, ketik kode berikut:
Sub fill_array() Dim thisarray As Variant number_of_elements = 3 'number of elements in the array 'must redim below to set size ReDim thisarray(1 To number_of_elements) As Integer 'resizes this size of the array counter = 1 fillmeup = 7 For counter = 1 To number_of_elements thisarray(counter) = fillmeup Next counter counter = 1 'this loop shows what was filled in While counter <= UBound(thisarray) MsgBox thisarray(counter) counter = counter + 1 Wend End Sub
-
Pada menu Alat, arahkan ke Makro lalu klik Makro.
-
Dalam kotak dialog Makro, klik fill_array, lalu klik Jalankan.
CATATAN: Mengubah variabel "number_of_elements" akan menentukan ukuran array.