Susunan VBA

Susunan Excel VBA

Secara umum satu pemboleh ubah seharusnya menyimpan satu nilai pada satu waktu, tetapi ketika kita ingin menyimpan beberapa nilai dalam satu pemboleh ubah maka jenis pemboleh ubah tersebut dikenal sebagai pemboleh ubah array, untuk menggunakan pemboleh ubah array dalam VBA kita perlu menyatakan menentukannya terlebih dahulu, kita dapat menentukan pemboleh ubah array dengan panjangnya atau tanpa panjangnya.

Andaikan jika kita mempunyai data yang mengandungi ratusan baris dan beberapa lajur dan kita perlu membuat kod yang akan menggunakan data tersebut. Sekarang, dalam kes ini, kita harus membuat gandaan pemboleh ubah yang akan mengambil nilai dari sel dan memberikan kepada program. Ini akan sangat melelahkan untuk membuat banyak pemboleh ubah ini dan oleh itu, dalam kes seperti ini, kita menggunakan Arrays in excel.

Susunan menyimpan set data dalam ingatannya dan tidak memerlukan kita untuk menyatakan pemboleh ubah untuk setiap nilai yang perlu diambil dari data. Keperluan untuk menggunakan array adalah kerana fakta bahawa dalam variabel excel dirancang untuk menyimpan satu nilai pada satu waktu, namun, ketika beberapa nilai disimpan oleh pemboleh ubah, ia menjadi array.

  • Membuat Array adalah seperti membuat unit memori terpisah yang dapat menyimpan data di dalamnya. Untuk membuat Array data mesti sama jenis.
  • Susunan yang kami berikan untuk cemerlang mesti sesuai dengan jenis data yang kami ada. Misalkan jika kita memiliki data yang hanya memiliki baris, dalam hal ini, kita akan menggunakan "Satu dimensi array" dan jika data berisi lajur juga maka kita harus menggunakan "Dua dimensi array" kerana mereka hanya mampu menahan nilai dari baris dan lajur.
  • Susunan juga harus berfungsi untuk berfungsi sebagai tatasusunan dinamik atau tatasusunan statik. Ketika kita memberikan julat dinamik pada formula, kita juga dapat menjadikan Arrays berubah-ubah. Susunan dinamik akan mempunyai fungsi untuk memasukkan bilangan baris dan lajur yang tidak terhingga. Sekiranya susunan yang telah kita tentukan adalah jenis statik maka mereka hanya dapat menahan bilangan baris dan lajur yang terhad seperti yang ditentukan pada saat membuat susunan.

Penjelasan

Array bekerja pada "Matematik peraturan matriks" iaitu mereka mengenal pasti data berdasarkan lokasinya sahaja. Andaikan jika kita harus membuat VBA memahami bahawa kita memerlukan "20" dalam sel "B3" maka kita harus menulis kod lokasi sebagai (3, 2) di mana nilai pertama adalah singkatan dari lokasi baris dan nilai kedua adalah singkatan nombor lajur. Dalam dunia excel, kod lokasi ini disebut "batas atas" dan "batas bawah". Secara lalai lokasi di excel bermula dari satu dan bukan dari sifar, jadi excel melihat "A1" sebagai baris nombor 0 dan bukan baris nombor 1.

Begitu juga, lajur bermula dari sifar dan bukan dari satu.

Susunan ini boleh didefinisikan sebagai array statik atau array dinamik. Sekiranya kita mendefinisikannya sebagai array statik ini bermakna bahawa mereka tidak dapat menahan lebih banyak daripada pemboleh ubah seperti yang ditentukan semasa mengkodkannya. Sekiranya kita tidak yakin dengan nilai yang diperlukan untuk dihafal oleh tatasusunan, kita membuat tatasusunan dinamik dan dalam kes seperti itu, nilai tersebut dapat menyimpan bilangan nilai tak terhingga.

Sekarang setelah kita memilih jenis array yang diperlukan, kita sekarang harus memasukkan data dalam tatasusunan ini.

Data ini harus diberikan satu persatu untuk menjadi cemerlang dengan cara di bawah.

Setelah data disimpan dalam tatasusunan ini, data tersebut siap digunakan sebagai pemboleh ubah dalam pengekodan VBA.

Senarai 5 Jenis Susunan Teratas

  1. Susunan Statik
  2. Array Dinamik
  3. Array Satu Dimensi
  4. Array Dua Dimensi
  5. Array Multidimensi

Mari lihat masing-masing secara terperinci.

# 1 - Susunan Statik

Susunan yang mempunyai jumlah nilai yang telah ditentukan yang boleh disimpan di dalamnya.

# 2 - Susunan dinamik

Susun dengan jumlah nilai yang belum ditentukan yang dapat dikendalikannya.

# 3 - Array Satu Dimensi

Array yang boleh menyimpan data hanya dari baris atau lajur.

# 4 - Array Dua Dimensi

Susunan yang dapat menyimpan nilai dari baris dan lajur.

# 5 - Array Multidimensi

Bagaimana menggunakan Array dalam VBA (dengan contoh)?

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

Susunan boleh digunakan dalam banyak situasi tetapi mesti digunakan apabila bilangan pemboleh ubah yang akan dinyatakan jumlahnya besar dan tidak layak untuk menyatakannya.

Berikut adalah beberapa contoh tetapi sebelum pergi ke contoh, kita akan belajar membuka editor VBA dengan kekunci pintasan

Ini akan membuka editor VBA, dari sana kita harus memasukkan kod dalam "Lembar kerja ini".

Contoh # 1

Pilih jenis larik yang anda mahukan, adakah itu array yang dinamik atau statik?

Sekiranya kita memerlukan susunan dinamik maka kita akan menentukan dimensi sebagai "varian".

Sekiranya kita memerlukan susunan statik maka kita akan menentukan dimensi sebagai "Statis".

Contoh # 2

Tentukan lajur dan baris yang anda mahu array disimpan.

Sekiranya kita memasukkan "1" dalam kurungan ini berarti array dapat menahan nilai 2 baris ketika pengiraan excel bermula dari nol.

Sekiranya kita memerlukan lajur dan baris juga maka kita perlu menentukan keduanya.

Di sini "1 hingga 2" bermaksud dua baris dan "1 hingga 3" bermaksud tiga lajur.

Di sini kita telah mengubah peraturan bagaimana excel mengira baris dan memintanya untuk menghitung dari “1” dan bukan dari sifar.

Contoh # 3

Input data dalam tatasusunan.

Data mesti dimasukkan ke dalam sel dengan bijak. Di sini data harus dimasukkan dalam bentuk (I, j) di mana "I" berarti baris dan "J" bermaksud lajur.

Jadi "a (1,1") bermaksud sel itu "A1"

Contoh # 4

Menutup kod.

Setelah data dimasukkan untuk array, langkah terakhir adalah menutup kod.

Perkara yang Perlu Diingat

  • Secara lalai, Excel akan mengira baris bermula dari sifar. Ini bermaksud “2” menggantikan “I” bermaksud 3 baris dan bukan 2 baris. Perkara yang sama berlaku untuk "J".
  • Data yang harus dimasukkan untuk array mesti dimulakan dari (0, 0) iaitu dari baris pertama dan lajur pertama.
  • Sekiranya kita menggunakan array dinamik maka ini memerlukan fungsi "VBA REDIM" untuk menentukan jumlah baris dan lajur yang diperlukan untuk dihafal.
  • Sekiranya membuat array dua dimensi maka kita harus menggunakan "Integer" sebagai dimensi.
  • Fail excel perlu disimpan dalam versi yang "serasi dengan makro" selain itu pengekodan yang telah kami lakukan di VBA akan hilang dan tidak akan dijalankan pada waktu berikutnya.