Koleksi VBA

Objek Pengumpulan Excel VBA

Dalam pengekodan VBA selain daripada koleksi item yang ada di bawah satu kumpulan, kita juga dapat membuat kumpulan koleksi kita sendiri. Dalam banyak artikel kami, kami telah membincangkan tentang pemboleh ubah objek dan dalam tutorial ini, kami akan membahas objek pengumpulan VBA secara terperinci.

Sekiranya anda telah membaca artikel kami sebelumnya "VBA Arrays" maka ini akan menjadi lebih mudah untuk anda fahami. Susunan digunakan untuk mengelompokkan pemboleh ubah di bawah satu bumbung, sama, Koleksi juga digunakan untuk menyimpan sekumpulan pemboleh ubah.

Koleksi digunakan untuk menyimpan objek. Mereka jauh lebih fleksibel daripada array VBA sedangkan tatasusunan mempunyai had ukuran tetap tetapi koleksi tidak mempunyai had ukuran tetap pada satu ketika dan bahkan tidak memerlukan pengubahan ukuran manual.

Koleksi VBA sangat mirip dengan "Kamus VBA" tetapi kamus memerlukan rujukan objek luaran untuk disiapkan di bawah tetingkap rujukan objek. Dengan Kamus VBA, kita perlu menetapkan jenis rujukan sebagai "Microsoft Scripting Runtime" tetapi Koleksi tidak memerlukan alat tambahan tersebut.

Bagaimana Membuat Objek Koleksi di VBA?

Untuk memulakan koleksi terlebih dahulu kita perlu menyatakan pemboleh ubah sebagai "Koleksi".

Anda boleh memuat turun Templat Excel Koleksi VBA ini di sini - Templat Excel Koleksi VBA

Kod:

 Sub Koleksi_Contoh () Dim Col Sebagai Koleksi Akhir Sub 

Oleh kerana koleksi adalah pemboleh ubah objek, kita perlu menetapkan rujukan objek dengan membuat contoh baru.

Kod:

 Sub Koleksi_Contoh () Dim Col Sebagai Koleksi Set Kol = Koleksi Baru Akhir Sub 

Sekarang dengan pemboleh ubah, kita dapat mengakses semua kaedah pemboleh ubah koleksi "Kol".

Kod:

 Sub Koleksi_Contoh () Dim Kol Sebagai Koleksi Kol Kol = Koleksi Baru Kol. Akhir Sub 

Sebelum menggunakan kaedah ini kita perlu menyatakan pemboleh ubah sebagai rentetan.

Kod:

 Sub Koleksi_Contoh () Dim Col Sebagai Koleksi Set Kol = Koleksi Baru Dim ColResult Sebagai String End Sub 

Sekarang gunakan pemboleh ubah "Col" pilih kaedah "Tambah".

Kod:

 Sub Koleksi_Contoh () Dim Col Sebagai Koleksi Set Kol = Koleksi Baru Kol. Tambah Akhir Sub 

Di bawah kaedah Tambah, kami mempunyai parameter tertentu. Anggaplah kita menyimpan nama jenama mudah alih dengan harga jualan rata-rata mereka di pasaran.

Di bawah Item, argumen memasukkan harga telefon bimbit.

Kod:

 Sub Koleksi_Contoh () Dim Kol Sebagai Koleksi Kol Kol = Koleksi Baru Kol. Tambah Item: = 15000, Sub Akhir 

Seterusnya, di bawah Key argumen masukkan nama jenama mudah alih.

Kod:

 Sub Koleksi_Contoh () Dim Col Sebagai Koleksi Set Kol = Koleksi Baru Kol. Tambah Item: = 15000, Kunci: = "Redmi" Sub Akhir 

Sekarang untuk pemboleh ubah "ColResult", kita akan menyimpan hasil pemboleh ubah objek "Col".

Kod:

 Sub Koleksi_Contoh () Dim Kol Sebagai Koleksi Kol Kol = Koleksi Baru Kol. Tambah Item: = 15000, Kunci: = "Redmi" ColResult = Kol (Sub Akhir 

Apabila anda membuka kurungan pemboleh ubah "Col" kita dapat melihat argumen sebagai Indeks untuk argumen ini, kita perlu memberikan nilai argumen utama dari kaedah Koleksi tambah iaitu nama jenama mudah alih.

Kod:

 Sub Koleksi_Contoh () Dim Col Sebagai Koleksi Kol Kol = Koleksi Baru Kol. Tambah Item: = 15000, Kunci: = "Redmi" ColResult = Col ("Redmi") Sub Akhir 

Sekarang mari tunjukkan hasilnya di kotak mesej di VBA.

Kod:

 Sub Koleksi_Contoh () Dim Col Sebagai Koleksi Kol Kol = Koleksi Baru Kol. Tambah Item: = 15000, Kunci: = "Redmi" ColResult = Col ("Redmi") MsgBox ColResult Akhir Sub 

Ok, kita sudah selesai semasa kita menjalankan kod kita harus melihat harga jenama mudah alih "Redmi".

Pemahaman yang lebih baik mengenai Parameter Kunci & Item

Saya yakin tidak mudah untuk memahami parameter objek Koleksi. Izinkan saya menerangkan kepada anda dengan contoh yang mudah.

Bayangkan anda mempunyai menu buah-buahan dengan nama dan harga buahnya. Anggaplah anda mencari harga buah "Apple" dengan nama buahnya.

Untuk mencari harga buah kita perlu menyebutkan nama buah iaitu dalam koleksi bahasa VBA Nama Buah adalah Kunci dan harga buahnya adalah "Item".

Ini seperti menerapkan fungsi VLOOKUP atau HLOOKUP, berdasarkan nilai pencarian, kita akan mengambil data yang diperlukan dari pangkalan data. Di sini nilai carian adalah Kunci dan hasilnya adalah Item.

Contoh Lanjutan

Bayangkan anda adalah pengurus kedai di salah satu kedai runcit dan anda bertanggungjawab menguruskan pertanyaan pelanggan. Satu pertanyaan pelanggan tersebut adalah pertanyaan mengenai harga produk.

Anda perlu membenarkan pelanggan mencari harga produk dengan maklumat lengkap. Begitu juga, anda perlu menunjukkan mesej sekiranya tidak ada data yang dijumpai. Di bawah ini adalah contoh kod yang akan menunjukkan kotak input di hadapan pengguna dan mereka perlu memasukkan nama produk yang mereka cari, jika produk ada dalam koleksi, ia akan menunjukkan harga produk yang disebutkan atau sebaliknya tunjukkan mesej sebagai "Produk yang anda cari tidak ada".

Kod:

Sub Koleksi_Contoh2 () Dim ItemCol Sebagai Koleksi Dim ColResult Sebagai String Set ItemsCol = New Collection ItemCol.Add Key: = "Apple", Item: = 150 ItemsCol.Add Key: = "Orange", Item: = 75 ItemsCol.Add Key: = "Water Melon", Item: = 45 ItemsCol.Add Key: = "Mush Millan", Item: = 85 ItemsCol.Add Key: = "Mango", Item: = 65 ColResult = Application.InputBox (Prompt: = "Please Masukkan Nama Buah ") Jika ItemsCol (ColResult)" "Kemudian MsgBox" Harga Buah "& ColResult &" adalah: "& ItemsCol (ColResult) Lain-lain MsgBox" Harga Buah yang Anda Cari Tidak Ada di Koleksi "End If End Sub