VBA Koleksiyonu - VBA'da Koleksiyon Nesnesi Nasıl Oluşturulur?

Excel VBA Koleksiyon Nesnesi

VBA kodlamada, bir grup altındaki mevcut öğe koleksiyonları dışında, koleksiyon gruplarımızı oluşturabiliriz. Birçok makalemizde nesne değişkenleri hakkında konuştuk ve bu eğitimde VBA koleksiyon nesnesini ayrıntılı olarak ele alacağız.

Bir önceki makalemiz olan “VBA Dizileri” nden geçtiyseniz, bunu anlamanız çok daha kolay olacaktır. Diziler, değişkenleri tek bir çatı altında gruplamak için kullanılır; Benzer şekilde, Koleksiyon bir grup değişkeni depolamak için de kullanılır.

Koleksiyonlar, nesneleri depolamak için kullanılır. VBA dizilerinden çok daha esnektirler, oysa dizilerin sabit boyut sınırları vardır, ancak okuyucuların herhangi bir zamanda herhangi bir sabit boyut sınırı yoktur ve hatta manuel yeniden boyutlandırma gerektirmez.

VBA Koleksiyonu, "VBA Sözlüğü" ne çok benzer, ancak sözlük, harici nesne referansının nesne referans penceresi altında ayarlanmasını gerektirir. VBA Sözlüğü ile referans türünü "Microsoft Scripting Runtime" olarak belirlememiz gerekir, ancak Collection herhangi bir ekstra donanım gerektirmez.

VBA'da Koleksiyon Nesnesi Nasıl Oluşturulur?

Önce koleksiyona başlamak için değişkeni "Koleksiyon" olarak tanımlamamız gerekir .

Kod:

Sub Collection_Example () Dim Col As Collection End Sub

Koleksiyon bir nesne değişkeni olduğundan, yeni bir örnek oluşturarak nesne referansını ayarlamamız gerekir.

Kod:

Sub Collection_Example () Dim Col As Collection Set Col = Yeni Koleksiyon Son Alt

Şimdi değişkenle, koleksiyon değişkeni "Col." nin tüm yöntemlerine erişebiliriz.

Kod:

Sub Collection_Example () Dim Col As Collection Set Col = Yeni Koleksiyon Sütun Son Alt

Bu yöntemleri kullanmadan önce, bir değişkeni dizge olarak tanımlamamız gerekir.

Kod:

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

Şimdi "Ekle" yöntemini seçmek için "Sütun" değişkenini kullanın.

Kod:

Sub Collection_Example () Dim Col As Collection Set Col = Yeni Koleksiyon Sütun Son Alt Ekle

Add yönteminin altında belirli parametrelerimiz var. Piyasadaki ortalama satış fiyatları ile mobil marka adlarını sakladığımızı varsayalım.

Öğe altında , bağımsız değişken cep telefonunun fiyatını girer.

Kod:

Sub Collection_Example () Koleksiyon Seti Olarak Dim Sütun Col = Yeni Koleksiyon Sütun Öğe Ekle: = 15000, Son Alt

Ardından, Anahtar bağımsız değişken altında mobil marka adını girin.

Kod:

Sub Collection_Example () Kolleksiyon Kümesi Olarak Dim Süt Col = Yeni Koleksiyon Sütun Öğe Ekle: = 15000, Anahtar: = "Redmi" Son Alt

"ColResult" değişkeni için, "Col" nesne değişkeninin sonucunu saklayacağız.

Kod:

Sub Collection_Example () Koleksiyon Seti Olarak Dim Sütun Col = Yeni Koleksiyon Sütun Öğe Ekle: = 15000, Anahtar: = "Redmi" ColResult = Sütun (Son Alt

"Sütun" değişkeninin parantezini açtığınızda, argümanı İndeks olarak görebiliriz . İçin bu argüman, biz Koleksiyon eklenti bir yöntem, yani mobil markanın adından kritik argüman değerini tedarik etmek gerekir.

Kod:

Sub Collection_Example () Koleksiyon Seti Olarak Dim Sütun Col = Yeni Koleksiyon Sütun Öğe Ekle: = 15000, Anahtar: = "Redmi" ColResult = Col ("Redmi") Son Alt

Şimdi sonucu VBA'daki mesaj kutusunda gösterelim.

Kod:

Sub Collection_Example () Koleksiyon Seti Olarak Dim Sütun Col = Yeni Koleksiyon Sütun Öğe Ekle: = 15000, Anahtar: = "Redmi" ColResult = Col ("Redmi") MsgBox ColResult Son Alt

Tamam, kodu çalıştırdığımızda işimiz biter. Mobil marka "Redmi" nin fiyatını görmeliyiz.

Anahtar ve Öğe Parametrelerini Daha İyi Anlama

Koleksiyon nesnesinin parametrelerini anlamanın kolay olmadığına eminim. Size basit bir örnek açıklayayım.

Adlarını ve meyvelerin fiyatını içeren bir meyve menünüz olduğunu hayal edin. "Elma" meyve fiyatını meyvenin adına göre aradığınızı varsayalım.

Toplama VBA dili içinde, meyvenin fiyatı aramak, biz meyve, yani adına söz gereğine Meyve Adı olan Anahtar, ve meyve fiyatıdır “Öğe”.

Bu, arama değerine bağlı olarak DÜŞEYARA veya YATAYARA işlevini uygulamak gibidir ve gerekli verileri veritabanından alırız. Burada arama değeri Anahtar ve sonuç Öğe'dir.

Gelişmiş Örnek

Perakende satış mağazalarından birinde mağaza yöneticisi olduğunuzu ve müşteri sorgularını yönetmekten sorumlu olduğunuzu hayal edin. Böyle bir müşteri sorgusu, ürün fiyatı ile ilgili bir sorundur.

Müşterinin ürünün fiyatını eksiksiz bilgilerle aramasına izin vermeniz yardımcı olacaktır. Benzer şekilde, veri bulunmaması durumunda mesajı göstermeniz gerekir. Giriş kutusunu kullanıcının önünde gösterecek örnek kod aşağıdadır. Aradıkları ürünün adını girmeleri gerekir. Ürün koleksiyonda bulunuyorsa, bahsedilen ürünün fiyatını gösterecek veya "Aradığınız Ürün mevcut değil" mesajını gösterecektir.

Kod:

Sub Collection_Example2 () Dim ItemsCol As Collection Dim ColResult Set ItemsCol = New Collection ItemsCol.Add Key: = "Apple", Item: = 150 ItemsCol.Add Key: = "Orange", Item: = 75 ItemsCol.Add Anahtarı: = "Karpuz", Öğe: = 45 ÖğelerCol.Add Anahtarı: = "Mush Millan", Öğe: = 85 ÖğelerCol.Add Anahtar: = "Mango", Öğe: = 65 ColResult = Uygulama.Giriş Kutusu (İstemi: = "Lütfen Meyve Adını Girin ") ItemsCol (ColResult)" "Sonra MsgBox" Meyvenin Fiyatı "& ColResult &" is: "& ItemsCol (ColResult) Else MsgBox" Aradığınız Meyvenin Fiyatı Şurada Yoktur Koleksiyon "End If End Sub

Ilginç makaleler...