VBA-ordbok - Guide för att arbeta med Excel VBA-ordböcker

Innehållsförteckning

Excel VBA-ordbok

Med hjälp av VBA Dictionary kan vi gruppera alla typer av data i en ordbok för att få tillgång till alla artiklar med en enda variabel. Vi kan använda ordboken för att skapa en samling nyckel-värdekombinationer. När objektet är länkat till nycklar senare kan vi ringa dem genom att bara använda nyckelnamnet.

VBA Dictionary är väldigt tufft att komma in i, men vi kommer att göra vårt bästa för att göra det lätt för dig att förstå. Vi kan jämföra både ordlista och samling på samma skala, men några av VBA-ordböckerna erbjuder några av de funktioner som inte är tillgängliga med VBA Collections-objektet.

Arbetar med VBA-ordböcker

För att kunna arbeta med VBA-ordböcker måste vi först ställa in objektreferensen till "Microsoft Scripting Runtime."

För att ställa in referensen ska du följa stegen nedan.

Steg 1: Gå till Verktyg> Referenser.

Steg 2: Rulla ner och välj alternativet 'Microsoft Scripting Runtime' och klicka sedan på ok.

Nu kan vi komma åt VBA Dictionary med Scripting Library.

Skapa instans av ordbok med VBA-kod

Efter att ha ställt in referensen till 'Microsoft Scripting Runtime' måste vi skapa en instans av VBA-ordlistan. Först förklara variabeln som Scripting.Dictionary.

Koda:

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

Nu är variabeln "Dict" en objektvariabel. För objektvariabel måste vi ställa in objektreferensen med ordet "Ny".

Set Dict = New Scripting.Dictionary

Nu kan vi komma åt alla egenskaper och metoder i ordboken.

Obs: Alla gröna knappar är metoder och andra är egenskaper.

Förklara nu en variabel som DictResult.

Dim DictResult As Variant

Nu använder vi variabeln "Dict" och vi skapar en ny nyckel.

Nyckeln är vad ordet vi lägger till är. Låt oss lägga till mobiltelefonnamnet som “Redmi.”

Objekt är inget annat än definitionen av ordet ( nyckel ) vi har lagt till. Denna definition av telefonen är dess pris, så jag lägger till priset till 15000.

Nu för en annan variabel, "DictResult", lägger vi till ett nyckelord med hjälp av "Dict" -variabeln.

Nyckeln är ordet vi skapade i föregående steg, dvs. namnet på telefonen.

Nu har variabeln "DictResult" den nyckel som vi har lagt till. Visa nu resultatet av variabeln i meddelandefältet VBA.

Koda:

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

Kör nu koden manuellt eller med F5-tangenten, och en meddelandefält visar priset ( artikeln ) på telefonen ( nyckel ) som vi har lagt till med "Dict."

Förstå KEY & ITEM

Om du inte har förstått KEY & ITEM, låt mig förklara för dig med ett enkelt exempel. Föreställ dig en ordbok från verkliga platser. Med denna ordbok har vi ord (tangenter) och betydelsen av dessa ord (objekt). På samma sätt är ord nycklar och definition eller mening är artikeln.

Titta nu på ytterligare ett exempel på en ordbok. Antag att du letar efter ett telefonnummer till en viss person. Hur söker du?

Självklart har vi använt namnet när vi sparar telefonnumret. Här har vi två saker, en är namnet på personen och den andra är telefonnumret.

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.Diction 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: = "Vänligen ange telefonnamnet") Om PhoneDict.Exists (DictResult) Då är MsgBox "Priset på telefonen" & DictResult & ":" & PhoneDict (DictResult) Annars MsgBox "Telefon du letar efter finns inte i Bibliotek "Avsluta om avsluta sub

Kör den här koden med F5-tangenten eller manuellt och se resultatet.

Intressanta artiklar...