VBA Sözlüğü - Excel VBA Sözlükleriyle Çalışma Kılavuzu

İçindekiler

Excel VBA Sözlüğü

VBA Sözlüğünü kullanarak, tek bir değişkenle tüm öğelere erişmek için bir sözlükteki her tür veriyi gruplayabiliriz. Sözlüğü anahtar-değer kombinasyonlarından oluşan bir koleksiyon oluşturmak için kullanabiliriz. Nesne anahtarlara bağlandıktan sonra, daha sonra sadece anahtar adını kullanarak onları çağırabiliriz.

VBA Sözlüğü'ne girmek çok zor, ancak anlamanızı kolaylaştırmak için seviyemizi elimizden gelenin en iyisini yapacağız. Hem Sözlüğü hem de Koleksiyonu aynı ölçekte karşılaştırabiliriz, ancak bazı VBA sözlükleri VBA Koleksiyonları nesnesiyle kullanılamayan bazı işlevler sunar.

VBA Sözlükleriyle Çalışma

VBA Sözlükleriyle çalışmak için yapmamız gereken ilk şey, nesne referansını 'Microsoft Scripting Runtime' olarak ayarlamaktır.

Referansı ayarlamak için aşağıdaki adımları izleyin.

Adım 1: Araçlar> Referanslar'a gidin.

Adım 2: Aşağı kaydırın ve 'Microsoft Scripting Runtime' seçeneğini seçin ve ardından ok'a tıklayın.

Artık VBA Sözlüğüne Scripting Library ile erişebiliriz.

VBA Kodu ile Sözlük Örneği Oluşturun

'Microsoft Scripting Runtime' referansını ayarladıktan sonra, VBA Sözlüğünün bir örneğini oluşturmamız gerekiyor. Önce değişkeni Scripting.Dictionary olarak bildirin.

Kod:

Sub Dict_Example1 () Dim Dict As Scripting.Dictionary End Sub

Şimdi "Dict" değişkeni bir nesne değişkenidir. Nesne değişkeni için, "Yeni" kelimesini kullanarak nesne referansını ayarlamamız gerekir.

Set Dict = Yeni Scripting.Dictionary

Artık sözlüğün tüm özelliklerine ve yöntemlerine erişebiliriz.

Not: Yeşil düğmeli tüm kelimeler Yöntemlerdir ve diğerleri Özelliklerdir.

Şimdi bir değişkeni DictResult olarak bildirin.

Varyant Olarak Dim DictResult

Şimdi "Dict" değişkenini kullanarak yeni bir anahtar oluşturacağız.

Anahtar , eklediğimiz kelimedir. Cep Telefonu adını "Redmi" olarak ekleyelim.

Öğe , eklediğimiz kelimenin ( anahtar ) tanımından başka bir şey değildir . Telefonun bu tanımı fiyatı, yani fiyatı 15000'e ekleyeceğim.

Şimdi başka bir değişken olan "DictResult" için, "Dict" değişkenini kullanarak bir anahtar kelime ekleyeceğiz.

Anahtar , önceki adımda oluşturduğumuz sözcük, yani telefonun adıdır.

Şimdi "DictResult" değişkeni , eklediğimiz anahtarın öğesine sahiptir. Şimdi değişkenin sonucunu VBA mesaj kutusunda gösterin.

Kod:

Sub Dict_Example1 () Dim Dict As Scripting.Dictionary Set Dict = New Scripting.Dictionary Dim DictResult As Variant Dict.Add Key: = "Redmi", Item: = 15000 DictResult = Dict ("Redmi") MsgBox DictResult End Sub

Şimdi kodu manuel olarak veya F5 tuşunu kullanarak çalıştırın ve bir mesaj kutusu size "Dikte" kullanarak eklediğimiz telefonun ( anahtar ) fiyatını ( öğe ) gösterecektir .

ANAHTAR VE ÖĞE'yi Anlamak

KEY & ITEM'i anlamadıysanız size basit bir örnekle açıklayayım. Gerçek dünyaya ait bir sözlük hayal edin. Bu sözlükle, kelimelere (anahtarlara) ve bu kelimelerin anlamlarına (öğe) sahibiz. Benzer şekilde, kelimeler Anahtarlardır ve tanım veya anlam Öğe'dir.

Şimdi, bir Sözlük örneğine daha bakın. Belirli bir kişinin telefon numarasını aradığınızı varsayın. Nasıl ararsın

Açıkçası telefon numarasını kaydederken kullandık adı kullanarak. Burada iki şey var: Biri Kişinin Adı ve ikincisi Telefon Numarası.

The name of the Person is Key.

The Phone Number is Item.

If you want the example of Excel, we can give VLOOKUP as an example. We use the formula to look for values based on the LOOKUP VALUE (Key). The result returned by the VLOOKUP function is called Item.

Check Whether the Mobile Phone is there or not.

Imagine you are giving a user form to your customers to check the mobile phone’s price with a simple input box. Below Excel VBA code will present an Input Box in front of the user, and they need to enter the brand of the phone they are looking for. If the brand name is there in the dictionary, it will show the price of the respective phone, or else it will display the message as “Phone You are Looking for Doesn’t Exist in the Library.”

Code:

Sub Dict_Example2 () Dim PhoneDict As Scripting.Dictionary Dim DictResult Set Variant Set PhoneDict = New Scripting.Dictionary PhoneDict.Add Key: = "Redmi", Item: = 15000 PhoneDict.Add Key: = "Samsung", Item: = 25000 PhoneDict .Add Key: = "Oppo", Item: = 20000 PhoneDict.Add Key: = "VIVO", Item: = 21000 PhoneDict.Add Key: = "Jio", Item: = 2500 DictResult = Application.InputBox (Prompt: = "Lütfen Telefon Adını Girin") PhoneDict.Varsa (DictResult) Sonra MsgBox "Telefonun Fiyatı" & DictResult & "is:" & PhoneDict (DictResult) Başka Mesaj Kutusu "Aradığınız Telefon Library "End If End Sub

Bu kodu F5 tuşunu kullanarak veya manuel olarak çalıştırın ve sonucu görün.

Ilginç makaleler...