VBA-woordenboek

Excel VBA-woordenboek

Met behulp van VBA Dictionary kunnen we allerlei soorten gegevens in een woordenboek groeperen om toegang te krijgen tot alle items met een enkele variabele. We kunnen het woordenboek gebruiken om een ​​verzameling sleutel-waardecombinaties te maken. Als het object eenmaal aan sleutels is gekoppeld, kunnen we ze later oproepen door alleen de sleutelnaam te gebruiken.

VBA Dictionary is erg moeilijk om binnen te komen, maar we zullen ons best doen om het u gemakkelijk te maken om het te begrijpen. We kunnen zowel Dictionary als Collection op dezelfde schaal vergelijken, maar sommige VBA-woordenboeken bieden enkele functionaliteiten die niet beschikbaar zijn met het VBA Collections-object.

Werken met VBA-woordenboeken

Om met VBA-woordenboeken te werken, moeten we eerst de objectreferentie instellen op 'Microsoft Scripting Runtime'.

Volg de onderstaande stappen om de referentie in te stellen.

Stap 1: Ga naar Tools> Referenties.

Stap 2: Scroll naar beneden en selecteer de optie 'Microsoft Scripting Runtime' en klik op ok.

Nu hebben we toegang tot VBA Dictionary met Scripting Library.

U kunt deze VBA Dictionary Excel-sjabloon hier downloaden - VBA Dictionary Excel-sjabloon

Maak een exemplaar van een woordenboek met VBA-code

Nadat we de verwijzing naar 'Microsoft Scripting Runtime' hebben ingesteld, moeten we een instantie van het VBA-woordenboek maken. Declareer eerst de variabele als Scripting.Dictionary

Code:

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

Nu is de variabele "Dict" een objectvariabele. Voor objectvariabele moeten we de objectreferentie instellen door het woord "Nieuw" te gebruiken.

Set Dict = New Scripting.Dictionary

Nu hebben we toegang tot alle eigenschappen en methoden van het woordenboek.

Opmerking: alle woorden met een groene knop zijn methoden en andere zijn eigenschappen.

Declareer nu één variabele als DictResult.

Dim DictResult als variant

Nu we de variabele "Dict" gebruiken, zullen we een nieuwe sleutel maken.

De sleutel is wat het woord dat we toevoegen is. Laten we de naam van de mobiele telefoon toevoegen als "Redmi".

Item is niets anders dan de definitie van het woord ( sleutel ) dat we hebben toegevoegd. Deze definitie van de telefoon is de prijs, dus ik zal de prijs toevoegen aan 15.000.

Nu zullen we voor een andere variabele "DictResult" een trefwoord toevoegen met behulp van de "Dict" -variabele.

Sleutel is het woord dat we in de vorige stap hebben gemaakt, dwz de naam van de telefoon.

Nu heeft de variabele "DictResult" het item van de sleutel die we hebben toegevoegd. Toon nu het resultaat van de variabele in het VBA-berichtvenster.

Code:

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

Voer de code nu handmatig uit of gebruik de F5-toets en een berichtvenster zal u de prijs ( item ) tonen van de telefoon ( sleutel ) die we hebben toegevoegd met "Dict".

KEY & ITEM begrijpen

Als je KEY & ITEM niet hebt begrepen, laat me het je dan uitleggen met een eenvoudig voorbeeld. Stel je het woordenboek van de echte wereld voor, met dit woordenboek hebben we woorden (sleutels) en de betekenis van die woorden (item). Evenzo zijn woorden sleutels en is de definitie of betekenis het item.

Bekijk nu nog een voorbeeld van een woordenboek. Stel dat u op zoek bent naar een telefoonnummer van een bepaalde persoon. Hoe zoek je?

Uiteraard door de naam te gebruiken die we hebben gebruikt bij het opslaan van het telefoonnummer. Hier hebben we twee dingen, een is de naam van de persoon en de tweede is het telefoonnummer.

De naam van de persoon is de sleutel.

Het telefoonnummer is Item.

Als u het voorbeeld van Excel wilt, kunnen we VERT.ZOEKEN als voorbeeld geven. We gebruiken de formule om waarden te zoeken op basis van de LOOKUP VALUE (Key). Het resultaat dat door de functie VERT.ZOEKEN wordt geretourneerd, wordt Item genoemd.

Controleer of de mobiele telefoon aanwezig is of niet

Stel u voor dat u uw klanten een gebruikersformulier geeft om de prijs van de mobiele telefoon te controleren met een eenvoudig invoerveld. Onder Excel VBA-code zal een invoervak ​​voor de gebruiker worden weergegeven en ze moeten het merk van de telefoon invoeren waarnaar ze op zoek zijn, als de merknaam in het woordenboek staat, wordt de prijs van de respectieve telefoon weergegeven of anders geef het bericht weer als "Telefoon waarnaar u zoekt, bestaat niet in de bibliotheek".

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: = "Please Enter the Phone Name") If PhoneDict.Exists (DictResult) Then MsgBox "The Price of the Phone" & DictResult & "is:" & PhoneDict (DictResult) Else MsgBox "Phone waarnaar u op zoek bent, bestaat niet in de Bibliotheek "End If End Sub 

Voer deze code uit met behulp van de F5-toets of handmatig en bekijk het resultaat.