VBA-sökfunktion - Hur använder jag Lookup-funktionen? (Exempel)

Innehållsförteckning

Excel VBA LOOKUP-funktion

Lookup är den funktion som hjälper oss att hämta data från huvudtabellen baserat på ett enda sökningsvärde. VBA LOOKUP-funktionen kräver inte sådan datastruktur, för LOOKUP-funktionen spelar det ingen roll om resultatkolumnen är till höger eller vänster om uppslagsvärdet, det kan fortfarande hämta data bekvämt.

Detta fungerar på samma sätt som VLOOKUP-funktionen, men ännu viktigare, detta är flexibelt i en datastruktur. När vi säger flexibel i datastrukturen betyder det att VLOOKUP behöver alla värden till höger om ett uppslagsvärde i huvudtabellen, och allt som finns kvar till uppslagsvärdet VLOOKUP kan inte hitta det.

Syntax

Om du redan sökte efter LOOKUP-formeln i VBA-redigeraren är jag säker på att du har blivit galen eftersom det finns en formel som heter LOOKUP i VBA.

Anledningen till att den inte är tillgänglig som standard eftersom LOOKUP inte är en VBA-funktion snarare, det är en kalkylfunktion. Så för att använda LOOKUP-funktionen måste vi först använda kalkylfunktionen i VBA-klass.

  • Arg 1 betyder uppslagsvärde
  • Arg 2 är vår uppslagsvektor, dvs. intervall för vår uppslagsvärdekolumn
  • Arg 3 är vår resultatvektor.

Hur använder jag VBA Lookup-funktionen? (Exempel)

Exempel 1

Vi har följande data från vilka vi vill få genomsnittligt pris för ett visst produktnamn med hjälp av Lookup-funktionen i VBA Excel.

För att få det genomsnittliga priset för mobiltillbehör för att använda följande kod.

Steg 1: Starta delproceduren i VBA.

Koda:

Sub Lookup_Example1 () Avsluta Sub

Steg 2: Jag behöver resultatet i F3-cellen. Så min kod är Range (“F3”). Värde =.

Koda:

Sub Lookup_Example1 () Range ("F3"). Värde End Sub

Steg 3: Som jag sa kunde vi inte omedelbart komma åt LOOKUP-funktionen. Så använd först klassen Arbetsbladets funktion.

Steg 4: När vi tillämpar arbetsbladets funktionsklass kan vi se alla tillgängliga formler med den här klassen i VBA, så välj SÖK i listan.

Steg 5: Med kalkylbladfunktioner i VBA ser vi inga tydliga argument för formeln. Här betyder Arg 1 uppslagsvärde. Vårt sökvärde finns i cellen E3, så skriv koden som Range (“E3”).

Koda:

Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value End Sub

Steg 6: Arg 2 är vår uppslagsvektor, dvs. intervallet för vår uppslagsvärdekolumn. I det här exemplet är vårt uppslagsvektorintervall från B3 till B10.

Koda:

Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value, Range ("B3: B10"), End Sub

Steg 7: Arg 3 är vår resultatvektor. Vi behöver resultatet från kolumnen Genomsnittspris, så resultatvektorn är från intervall C3 till C10.

Koda:

Sub Lookup_Example1 () Range ("F3"). Value = WorksheetFunction.Lookup (Range ("E3"). Value, Range ("B3: B10"), Range ("C3: C10")) End Sub

Okej, vi är klara med VBA-kodningen.

Låt oss köra koden och vi borde få resultatet i cell F3.

På detta sätt kan vi använda LOOKUP-funktionen under funktionsklassen för kalkylbladet för att hämta data för det angivna uppslagsvärdet.

Exempel 2

Använd variabler för LOOKUP-funktion

Med hjälp av variabler kan vi också få resultat. Nedan visas exempelkoden för uppslagsfunktion med variabler.

Koda:

Sub Lookup_Example2() Dim ResultCell As Range Dim LookupValueCell As Range Dim LookupVector As Range Dim ResultVector As Range Set ResultCell = Range("F3") Set LookupValueCell = Range("E3") Set LookupVector = Range("B3:B10") Set ResultVector = Range("C3:C10") ResultCell = WorksheetFunction.Lookup(LookupValueCell, LookupVector, ResultVector) End Sub

Even though it looks lengthy, it will give good exposure to variables in VBA. Instead of supplying all the values to the formula directly, we have declared variables and assigned set of ranges and values to them.

Declaring variables and setting the reference to those variables is always a good practice in any coding language.

Things to Remember

  • LOOKUP is an alternative function to VLOOKUP.
  • SÖKNING kräver inte nödvändigtvis att resultatkolumnen ska vara till höger om uppslagsvärdet.
  • Områdelängden för både uppslagsvektorn och resultatvektorn ska vara densamma.
  • Ännu viktigare är att vi måste ange ett kolumnindexnummer, vilket är nödvändigt för VLOOKUP-funktionen.

Intressanta artiklar...