Array Deklarasi VBA

Array Deklarasi Excel VBA

Pengisytiharan array dalam VBA sangat mirip dengan pemboleh ubah yang dilakukan oleh pernyataan redup yang sama atau pernyataan awam atau swasta statik, satu-satunya perbezaan dalam menyatakan array dan menyatakan pemboleh ubah adalah bahawa ketika menyatakan array, kita harus memberikan ukuran array yang merupakan batas atas array dan batas bawah array.

Dalam Kod VBA, kita dapat menyatakan satu array pemboleh ubah yang dapat menahan jumlah pemboleh ubah dan bukannya menyatakan satu pemboleh ubah. Ini dapat mengurangkan bilangan baris dalam kod.

Array adalah sejenis pemboleh ubah yang dapat menahan lebih dari satu nilai, tidak seperti pemboleh ubah biasa yang dapat menahan hanya satu nilai pada satu masa. Array adalah versi lanjutan untuk menyatakan pemboleh ubah dalam VBA. Sebagai contoh, bayangkan situasi di mana anda ingin memberikan 5 nama pelajar kepada pemboleh ubah dan dalam praktik umum, kami menyatakan lima pemboleh ubah untuk semua lima pemboleh ubah yang kami tetapkan setiap nama pelajar satu persatu, di bawah adalah contoh kod yang sama.

Kod:

 Sub Array_Contoh () Siswa Dim 

Daripada menyatakan begitu banyak pemboleh ubah, bagaimana dengan idea untuk menyatakan satu pemboleh ubah yang boleh memuatkan semua nama pelajar.

Ya, ini mungkin dilakukan dengan menyatakan susunan dalam VBA.

Contoh

Anda boleh memuat turun Templat Declare Array Excel VBA ini di sini - Templat VBA Declare Array Excel

Contoh # 1

Untuk menyatakan bahawa kita tidak perlu melakukan pengekodan VBA khas, kita perlu mengikuti konsep mudah.

Pertama, mulakan subprosedur.

Kod:

 Sub Array_Contoh () Akhir Sub 

Sekarang, seperti biasa, nyatakan pemboleh ubah sebagai rentetan.

Kod:

 Sub Array_Contoh () Dim Dimensi Pelajar Sebagai Sub String End 

Setelah pemboleh ubah diisytiharkan sekarang, pastikan berapa banyak nilai yang harus dimiliki. Dalam kes ini, saya ingin menyimpan lima nama pelajar, jadi sekarang kita perlu memperbaiki ukuran array iaitu 1 hingga 5. Bekalkan perkara yang sama kepada pemboleh ubah dalam kurungan.

Kod:

 Sub Array_Contoh () Murid Dim (1 Hingga 5) Sebagai Sub String End Sub 

Sekarang untuk pemboleh ubah tunggal ini, kita dapat menyimpan 5 nama pelajar.

Kod:

 Sub Array_Contoh () Pelajar Dim "Anderson" End Sub 

Lihat berapa banyak baris yang telah kita kurangkan dengan menyatakan pemboleh ubah sebagai tatasusunan. Ini adalah salah satu cara untuk melakukan kita masih boleh memendekkan kod ini dengan memasukkannya ke dalam gelung di VBA.

Sebagai contoh, lima nama yang sama dengan saya di sel lembaran kerja

Sekarang saya ingin menunjukkan nombor ini di kotak mesej di VBA, ok mari kita nyatakan satu lagi pemboleh ubah untuk gelung sebagai jenis data Integer.

Kod:

 Sub Array_Contoh () Pelajar Dim (1 Hingga 5) Sebagai Rentetan Dim K Sebagai Bilangan Akhir Integer 

Seperti biasa, saya telah mengekalkan pemboleh ubah array sebagai ukuran 1 hingga 5.

Sekarang buka gelung SELANJUTNYA di VBA dan kerana kami mempunyai lima nama masukkan had 1 hingga 5.

Kod:

 Sub Array_Contoh () Pelajar Dim (1 Hingga 5) Sebagai Rentetan Dim K Sebagai Bilangan bulat Untuk K = 1 Hingga 5 Selanjutnya Akhir Akhir 

Untuk menetapkan nilai kepada pemboleh ubah array, kita tidak perlu mengikuti cara sebelumnya untuk menunjukkan Pelajar (1), Pelajar (2) seperti ini untuk pemboleh ubah gelung bekalan nombor "k".

Kod:

 Sub Array_Contoh () Pelajar Dim (1 Hingga 5) Sebagai Rentetan Dim K Sebagai Bilangan bulat Untuk K = 1 Hingga 5 Pelajar (K) = Sub Akhir Akhir 

Untuk pemboleh ubah array ini, kita memerlukan nilai dari lembaran kerja, jadi menggunakan harta CELLS dapatkan nilai dari lembaran kerja.

Kod:

 Sub Array_Contoh () Pelajar Dim (1 Hingga 5) Sebagai Rentetan Dim K Sebagai Bilangan Bulat Untuk K = 1 Hingga 5 Pelajar (K) = Sel (K, 1). Nilai Seterusnya K Akhir Sub 

Sekarang melalui kotak mesej menunjukkan nilai pemboleh ubah array.

Kod:

 Sub Array_Contoh () Dim Pelajar (1 Hingga 5) Sebagai Rentetan Dim K Sebagai Bilangan bulat Untuk K = 1 Hingga 5 Pelajar (K) = Sel (K, 1). Nilai MsgBox Pelajar (K) Seterusnya K Akhir Sub 

Sekarang jalankan kod, di kotak mesej, kita akan melihat nama depan. Sekali lagi tekan Ok untuk melihat nama kedua. Seperti ini dengan menekan Ok, kita dapat melihat kelima-lima nama tersebut.

Contoh # 2 - Susunan Dua Dimensi

Kami telah melihat di atas bagaimana susunan berfungsi, sekarang kita akan melihat susunan dimensi. Susunan dua dimensi tertumpu pada baris dan lajur.

Dalam contoh di atas, kami telah menentukan ukuran array sebagai 1 hingga 5, ini tertumpu pada baris atau lajur.

Dengan menggunakan tatasusunan dua dimensi kita dapat menumpukan perhatian pada kedua baris dan lajur. Untuk ini, kita perlu memasukkan dua gelung.

Mula-mula, tentukan pemboleh ubah kemudian lambat kita akan memutuskan tentang ukuran array.

Kod:

 Sub Two_Array_Contoh () Pelajar Dim Dim sebagai Sub String End Sub 

Pertama, tentukan ukuran baris kemudian tentukan panjang lajur.

Kod:

 Sub Dua_Array_Contoh () Pelajar Dim (1 Hingga 5, 1 Hingga 3) Sebagai Sub String End Sub 

Untuk ini, saya telah menyusun data untuk nama pelajar, markah dan status gred.

Sekarang kembali ke tetingkap pengekodan.

Menyatakan dua lagi pemboleh ubah untuk satu gelung.

Kod:

 Sub Two_Array_Contoh () Pelajar Dim (1 Hingga 5, 1 Hingga 3) Sebagai Rentetan Dim K Sebagai Integer, J Sebagai Sub Akhir Akhir 

Sekarang lampirkan gelung seperti gambar di bawah.

Kod:

 Sub Two_Array_Contoh () Dim Pelajar (1 Hingga 5, 1 Hingga 3) Sebagai Rentetan Dim k Sebagai Bilangan bulat, J Sebagai Bilangan bulat Untuk k = 1 hingga 5 Untuk J = 1 hingga 3 Lembaran Kerja ("Senarai Pelajar"). Pilih Pelajar (k, J) = Sel (k, J). Lembaran Kerja Nilai ("Salin Lembaran"). Pilih Sel (k, J). Nilai = Pelajar (k, J) Selanjutnya J Seterusnya k Akhir Sub 

Apa yang akan dilakukannya ialah menyalin data dari lembaran "Daftar Pelajar" dan menampal di "Salin Helaian".

Perkara yang Perlu Diingat

  • Susunannya adalah konsep yang luas, ini hanyalah bahagian pendahuluan.
  • Anda memerlukan kemahiran pengekodan lanjutan untuk memahami deklarasi larik.
  • The more you use arrays in your code the more you will get used to it.