Koleksi VBA

Objek Koleksi VBA Excel

Dalam pengkodean VBA selain dari koleksi item yang ada di bawah satu grup, kami juga dapat membuat grup koleksi kami sendiri. Dalam banyak artikel kami, kami telah berbicara tentang variabel objek dan dalam tutorial ini, kami akan membahas objek koleksi VBA secara mendetail.

Jika Anda telah membaca artikel kami sebelumnya "Array VBA" maka ini akan lebih mudah bagi Anda untuk memahaminya. Array digunakan untuk mengelompokkan variabel di bawah satu atap, demikian pula, Collection juga digunakan untuk menyimpan sekelompok variabel.

Koleksi digunakan untuk menyimpan objek. Mereka jauh lebih fleksibel daripada array VBA sedangkan array memiliki batas ukuran tetap tetapi koleksi tidak memiliki batas ukuran tetap pada titik waktu tertentu dan bahkan tidak memerlukan pengubahan ukuran manual.

Koleksi VBA sangat mirip dengan "Kamus VBA" tetapi kamus memerlukan referensi objek eksternal untuk disiapkan di bawah jendela referensi objek. Dengan Kamus VBA kita perlu menyetel jenis referensi sebagai "Microsoft Scripting Runtime" tetapi Collection tidak memerlukan alat kelengkapan tambahan tersebut.

Bagaimana cara membuat objek koleksi di VBA?

Untuk memulai dengan collection, pertama kita perlu mendeklarasikan variabel sebagai "Collection".

Anda dapat mendownload Template Excel Koleksi VBA ini di sini - Template Excel Koleksi VBA

Kode:

 Sub Collection_Example () Dim Col As Collection End Sub 

Karena collection adalah variabel objek, kita perlu mengatur referensi objek dengan membuat instance baru.

Kode:

 Sub Collection_Example () Dim Col As Collection Set Col = New Collection End Sub 

Sekarang dengan variabel, kita dapat mengakses semua metode variabel koleksi "Col".

Kode:

 Sub Collection_Example () Dim Col As Collection Set Col = New Collection Col. End Sub 

Sebelum menggunakan metode ini, kita perlu mendeklarasikan variabel sebagai string.

Kode:

 Sub Collection_Example () Dim Col As Collection Set Col = Koleksi Baru Dim ColResult As String End Sub 

Sekarang gunakan variabel "Col" pilih metode "Add".

Kode:

 Sub Collection_Example () Dim Col As Collection Set Col = New Collection Col.Add End Sub 

Di bawah metode Add, kami memiliki parameter tertentu. Mari kita asumsikan kita menyimpan nama merek ponsel dengan harga jual rata-rata di pasar.

Di bawah Item, argumen memasukkan harga ponsel.

Kode:

 Sub Collection_Example () Dim Col As Collection Set Col = New Collection Col. Add Item: = 15000, End Sub 

Selanjutnya, di bawah Argumen kunci masukkan nama merek seluler.

Kode:

 Sub Collection_Example () Dim Col As Collection Set Col = New Collection Col. Add Item: = 15000, Key: = "Redmi" End Sub 

Sekarang untuk variabel "ColResult", kita akan menyimpan hasil dari variabel objek "Col".

Kode:

 Sub Collection_Example () Dim Col As Collection Set Col = New Collection Col. Add Item: = 15000, Key: = "Redmi" ColResult = Col (End Sub 

Saat Anda membuka tanda kurung dari variabel "Col" kita dapat melihat argumen sebagai Indeks untuk argumen ini, kita perlu menyediakan nilai argumen kunci dari metode penambahan Collection yaitu nama merek ponsel.

Kode:

 Sub Collection_Example () Dim Col As Collection Set Col = New Collection Col. Add Item: = 15000, Key: = "Redmi" ColResult = Col ("Redmi") End Sub 

Sekarang mari tunjukkan hasilnya di kotak pesan di VBA.

Kode:

 Sub Collection_Example () Dim Col As Collection Set Col = New Collection Col. Add Item: = 15000, Key: = "Redmi" ColResult = Col ("Redmi") MsgBox ColResult End Sub 

Ok, kita selesai ketika menjalankan kode kita harus melihat harga merek ponsel “Redmi”.

Pemahaman yang Lebih Baik tentang Parameter Kunci & Item

Saya yakin tidak mudah untuk memahami parameter objek Collection. Izinkan saya menjelaskan kepada Anda dengan contoh sederhana.

Bayangkan Anda memiliki menu buah-buahan dengan nama dan harga buahnya. Asumsikan Anda mencari harga buah “Apel” berdasarkan nama buahnya.

Untuk mencari harga buahnya kita perlu menyebutkan nama buahnya yaitu pada 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 database. Di sini nilai pencarian adalah Key dan hasilnya adalah Item.

Contoh Lanjutan

Bayangkan Anda adalah manajer toko di salah satu toko eceran dan Anda bertanggung jawab untuk mengelola permintaan pelanggan. Salah satu pertanyaan pelanggan tersebut adalah pertanyaan tentang harga produk.

Anda perlu mengizinkan pelanggan untuk mencari harga produk dengan informasi lengkap. Demikian pula, Anda perlu menampilkan pesan jika tidak ada data yang ditemukan. Di bawah ini adalah contoh kode yang akan menampilkan kotak input di depan pengguna dan mereka harus memasukkan nama produk yang mereka cari, jika produk ada dalam koleksi maka akan menunjukkan harga produk yang disebutkan atau akan tunjukkan pesan sebagai "Produk yang Anda cari tidak ada".

Kode:

 Sub Collection_Example2() Dim ItemsCol As Collection Dim ColResult As String Set ItemsCol = New Collection ItemsCol.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 Enter the Fruit Name") If ItemsCol(ColResult)  "" Then MsgBox "The Price of the Fruit " & ColResult & " is : " & ItemsCol(ColResult) Else MsgBox "Price of the Fruit You are Looking for Doesn't Exists in the Collection" End If End Sub