VBA Menyatakan Array

Excel VBA Deklarasikan Array

Deklarasi array di VBA sangat mirip dengan variabel itu dilakukan dengan pernyataan redup yang sama atau pernyataan publik atau pribadi statis, satu-satunya perbedaan dalam mendeklarasikan array dan mendeklarasikan variabel adalah bahwa saat mendeklarasikan array kita harus memberikan ukuran dari sebuah larik yang merupakan batas atas larik dan batas bawah larik.

Dalam Kode VBA, kita dapat mendeklarasikan array variabel tunggal yang dapat menampung jumlah variabel daripada mendeklarasikan variabel tunggal. Ini dapat membantu mengurangi jumlah baris dalam kode.

Array adalah sejenis variabel yang dapat menampung lebih dari satu nilai, tidak seperti variabel biasa yang hanya dapat menampung satu nilai dalam satu waktu. Array adalah versi lanjutan dari mendeklarasikan variabel di VBA. Misalnya, bayangkan situasi di mana Anda ingin menetapkan 5 nama siswa ke variabel dan dalam praktik umum, kami mendeklarasikan lima variabel untuk semua lima variabel yang kami berikan nama siswa satu per satu, di bawah ini adalah contoh kode yang sama.

Kode:

 Sub Array_Example () Dim Student1 As String Dim Student2 As String Dim Student3 As String Dim Student4 As String Dim Student5 As String End Sub 

Alih-alih mendeklarasikan begitu banyak variabel, bagaimana dengan gagasan mendeklarasikan array variabel tunggal yang dapat menampung semua nama siswa.

Ya, ini dimungkinkan dengan mendeklarasikan array di VBA.

Contoh

Anda dapat mengunduh Template Excel Deklarasikan Array VBA ini di sini - Template Excel Deklarasikan Array VBA

Contoh 1

Untuk menyatakan kita tidak perlu melakukan pengkodean VBA khusus, kita harus mengikuti konsep sederhana.

Pertama, mulai subprocedure.

Kode:

 Sub Array_Example () End Sub 

Sekarang, seperti biasa, deklarasikan variabel sebagai string.

Kode:

 Sub Array_Example () Redupkan Siswa Sebagai String End Sub 

Setelah variabel dideklarasikan sekarang, pastikan berapa banyak nilai yang harus dipegangnya. Dalam hal ini, saya ingin menyimpan lima nama siswa, jadi sekarang kita perlu memperbaiki ukuran array yaitu 1 hingga 5. Berikan hal yang sama ke variabel dalam tanda kurung.

Kode:

 Sub Array_Example () Redupkan Siswa (1 Sampai 5) Sebagai String End Sub 

Sekarang untuk variabel tunggal ini, kita dapat menyimpan 5 nama siswa.

Kode:

 Sub Array_Example () Dim Student (1 To 5) As String Student (1) = "John" Student (2) = "Peter" Student (3) = "Ricky" Student (4) = "Michael" Student (5) = "Anderson" End Sub 

Lihat berapa banyak baris yang telah kita kurangi dengan mendeklarasikan variabel sebagai array. Ini adalah salah satu cara untuk melakukannya, kami masih dapat mempersingkat kode ini dengan melampirkan ini di dalam loop di VBA.

Sekarang sebagai contoh, lima nama yang sama yang saya miliki di sel lembar kerja

Sekarang saya ingin menunjukkan angka-angka ini di kotak pesan di VBA, ok mari kita deklarasikan satu variabel lagi untuk loop sebagai tipe data Integer.

Kode:

 Sub Array_Example () Dim Student (1 Sampai 5) Sebagai String Dim K Sebagai Integer End Sub 

Seperti biasa, saya mempertahankan variabel array sebagai ukuran 1 hingga 5.

Sekarang buka loop FOR NEXT di VBA dan karena kami memiliki lima nama, masukkan batasnya sebagai 1 hingga 5.

Kode:

 Sub Array_Example () Dim Student (1 Sampai 5) Sebagai String Dim K Sebagai Integer Untuk K = 1 Sampai 5 Selanjutnya K End Sub 

Untuk memberikan nilai ke variabel array kita tidak perlu mengikuti cara sebelumnya untuk menunjukkan Student (1), Student (2) seperti ini untuk variabel number position supply loop “k”.

Kode:

 Sub Array_Example () Dim Student (1 To 5) As String Dim K As Integer For K = 1 To 5 Student (K) = Next K End Sub 

Untuk variabel array ini kita membutuhkan nilai dari lembar kerja, jadi dengan menggunakan properti CELLS dapatkan nilai dari lembar kerja.

Kode:

 Sub Array_Example () Dim Student (1 To 5) As String Dim K As Integer For K = 1 To 5 Student (K) = Cells (K, 1) Value Next K End Sub 

Sekarang melalui kotak pesan menunjukkan nilai variabel array.

Kode:

 Sub Array_Example () Dim Student (1 To 5) As String Dim K As Integer For K = 1 To 5 Student (K) = Cells (K, 1) Value MsgBox Student (K) Next K End Sub 

Sekarang jalankan kodenya, di kotak pesan, kita akan melihat nama depan. Sekali lagi tekan Ok untuk melihat nama kedua. Seperti ini dengan menekan Ok, kita bisa melihat kelima nama itu.

Contoh # 2 - Array Dua Dimensi

Kita telah melihat di atas bagaimana array bekerja, sekarang kita akan melihat array dimensional. Array dua dimensi berkonsentrasi pada baris dan kolom.

Dalam contoh di atas, kami telah menentukan ukuran larik sebagai 1 hingga 5, ini berkonsentrasi pada baris atau kolom.

Dengan menggunakan array dua dimensi kita dapat berkonsentrasi pada baris dan kolom. Untuk ini, kita perlu menyertakan dua loop.

Pertama, tentukan variabelnya kemudian kita akan memutuskan tentang ukuran array.

Kode:

 Sub Two_Array_Example () Redupkan Siswa Sebagai String End Sub 

Pertama, tentukan ukuran baris kemudian tentukan panjang kolom.

Kode:

 Sub Two_Array_Example () Dim Student (1 To 5, 1 To 3) As String End Sub 

Untuk ini, saya telah menyusun data untuk nama siswa, nilai, dan status nilai.

Sekarang kembali ke jendela pengkodean.

Deklarasikan dua variabel lagi untuk satu putaran.

Kode:

 Sub Two_Array_Example () Dim Student (1 to 5, 1 To 3) As String Dim K As Integer, J As Integer End Sub 

Sekarang lampirkan loop seperti yang ditunjukkan di bawah ini.

Kode:

 Sub Two_Array_Example () Dim Student (1 To 5, 1 To 3) As String Dim k As Integer, J As Integer For k = 1 To 5 For J = 1 To 3 Worksheets ("Student List"). Select Student (k, J) = Sel (k, J). Nilai Lembar Kerja ("Salin Lembar"). Pilih Sel (k, J). Nilai = Mahasiswa (k, J) Berikutnya J Berikutnya k Akhiri Sub 

Apa yang akan dilakukan adalah menyalin data dari lembar "Daftar Siswa" dan menempel di "Salin Lembar".

Hal-hal untuk diingat

  • Array adalah konsep yang luas, ini hanya bagian pengantar.
  • Anda membutuhkan keterampilan pengkodean tingkat lanjut untuk memahami deklarasi array.
  • The more you use arrays in your code the more you will get used to it.