Słownik VBA - Przewodnik po pracy ze słownikami Excel VBA

Słownik VBA programu Excel

Korzystając ze słownika VBA, możemy grupować wszystkie rodzaje danych w słowniku, aby uzyskać dostęp do wszystkich pozycji za pomocą jednej zmiennej. Możemy użyć słownika do stworzenia kolekcji kombinacji klucz-wartość. Gdy obiekt zostanie powiązany z kluczami, później możemy je wywołać, używając po prostu nazwy klucza.

Słownik VBA jest bardzo trudny do znalezienia, ale postaramy się jak najlepiej, abyś był łatwy do zrozumienia. Możemy porównać zarówno słownik, jak i kolekcję w tej samej skali, ale niektóre słowniki VBA oferują niektóre funkcje, które nie są dostępne w obiekcie Kolekcje VBA.

Praca ze słownikami VBA

Aby móc pracować ze słownikami VBA, najpierw musimy ustawić odniesienie do obiektu na „Microsoft Scripting Runtime”.

Aby ustawić odniesienie, wykonaj poniższe czynności.

Krok 1: Przejdź do Narzędzia> Referencje.

Krok 2: Przewiń w dół i wybierz opcję „Microsoft Scripting Runtime”, a następnie kliknij OK.

Teraz mamy dostęp do słownika VBA z biblioteką skryptów.

Utwórz wystąpienie słownika z kodem VBA

Po ustawieniu odniesienia na „Microsoft Scripting Runtime” musimy utworzyć wystąpienie słownika VBA. Najpierw zadeklaruj zmienną jako Scripting.Dictionary.

Kod:

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

Teraz zmienna „Dict” jest zmienną obiektową. W przypadku zmiennej obiektu musimy ustawić odniesienie do obiektu za pomocą słowa „Nowy”.

Ustaw Dict = New Scripting.Dictionary

Teraz mamy dostęp do wszystkich właściwości i metod słownika.

Uwaga: Wszystkie słowa z zielonymi guzikami to Metody, a pozostałe to Właściwości.

Teraz zadeklaruj jedną zmienną jako DictResult.

Dim DictResult As Variant

Teraz używając zmiennej „Dict” utworzymy nowy klucz.

Kluczem jest słowo, które dodajemy. Dodajmy nazwę telefonu komórkowego jako „Redmi”.

Pozycja to nic innego jak definicja słowa ( klucza ), które dodaliśmy. Taką definicją telefonu jest jego cena, więc cenę dodam do 15000.

Teraz dla innej zmiennej, „DictResult”, dodamy słowo kluczowe za pomocą zmiennej „Dict”.

Klucz to słowo, które utworzyliśmy w poprzednim kroku, tj. Nazwa telefonu.

Teraz zmienna „DictResult” zawiera element klucza, który dodaliśmy. Teraz pokaż wynik zmiennej w oknie komunikatu VBA.

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

Teraz uruchom kod ręcznie lub za pomocą klawisza F5, a w oknie komunikatu zostanie wyświetlona cena ( pozycja ) telefonu ( klucza ), który dodaliśmy za pomocą „Dict”.

Zrozumienie klucza i elementu

Jeśli nie zrozumiałeś KEY & ITEM, wyjaśnię ci na prostym przykładzie. Wyobraź sobie słownik z prawdziwego świata. W tym słowniku mamy słowa (klucze) i znaczenie tych słów (pozycja). Podobnie, słowa są kluczami, a definicja lub znaczenie to przedmiot.

Spójrzmy teraz na jeszcze jeden przykład słownika. Załóżmy, że szukasz numeru telefonu określonej osoby. Jak wyszukujesz?

Oczywiście używając nazwy użyliśmy przy zapisywaniu numeru telefonu. Tutaj mamy dwie rzeczy: jedna to imię i nazwisko osoby, a druga to numer telefonu.

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 As 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: = „Wprowadź nazwę telefonu”) Jeśli PhoneDict.Exists (DictResult), to MsgBox „Cena telefonu” & DictResult & ”to:„ & PhoneDict (DictResult) Else MsgBox ”Telefon, którego szukasz, nie występuje w Biblioteka „End If End Sub

Uruchom ten kod za pomocą klawisza F5 lub ręcznie i zobacz wynik.

Interesujące artykuły...