VBA-woordenboek - Gids voor het werken met Excel VBA-woordenboeken

Inhoudsopgave

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 je 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.

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 objectverwijzing 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 is dat we toevoegen. 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 15000.

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

De 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 toont u de prijs ( item ) 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 een woordenboek uit 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?

Het is duidelijk dat we door de naam te gebruiken die we hebben gebruikt tijdens 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 naar 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. Onderstaande Excel VBA-code zal een invoervak ​​voor de gebruiker presenteren, en ze moeten het merk van de telefoon invoeren waarnaar ze op zoek zijn. Als de merknaam in het woordenboek voorkomt, wordt de prijs van de betreffende telefoon weergegeven, anders wordt het bericht weergegeven 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 de F5-toets of handmatig en bekijk het resultaat.

Interessante artikelen...