VBA Application.Match - Trin for trin guide med eksempler

Indholdsfortegnelse

Excel VBA Application.Match

En af de bedste ting ved VBA er, at den har sin egen funktion, og at den også giver os adgang til alle regnearkfunktionerne under klassen "Arbejdsarkfunktion". Du skal allerede have brugt MATCH-funktionen som en regnearksfunktion, men den er ikke en VBA-funktion, så vi skal have adgang til under regnearkets funktionsklasse. I denne artikel viser vi dig, hvordan du bruger MATCH-funktionen i VBA ved hjælp af applikationsmetoden.

Hurtig opsummering af MATCH-funktionen

MATCH er en opslagsfunktion, der søger efter placeringsopslagsværdien i det nævnte opslagsarray. Se f.eks. Nedenstående billede af dataene.

I ovenstående data har vi måneder fra A2 til A6, og hvis vi vil vide, hvilket sted "Mar" -måned forekommer, kan vi bruge MATCH-funktionen.

Nedenfor er syntaksen for MATCH-funktionen.

MATCH (opslagsværdi, opslagsarray, (matchtype))
  • Opslagsværdi: For hvilken værdi vi leder efter positionen i opslagsarrayet.
  • Opslag Array: I hvilket array vi leder efter placeringen af opslagsværdien.
  • (Match Type): Til dette kan vi give tre argumenter.
  1. 1 = Mindre end
  2. 0 = Præcis match
  3. -1 = Større end

For det meste bruger vi kun "0 nøjagtig match".

Hvordan bruges Application.Match-funktion i VBA?

Eksempel nr. 1

Se på nedenstående data i Excel.

Fra ovenstående data er vi nødt til at finde placeringen af ​​"Mar" -måneden i området fra celler fra A2 til A6. Da vi har brug for resultater i D2-celler med det samme, start koden som Range (“D2”).

For at ankomme værdi i D2-celle skal vi bruge MATCH-regnearkfunktionen, så for at få adgang til denne først skal vi få adgang til APPLICATION-objektet og derefter WORKSHEET FUNCTION-objektet.

Indtast prik for at se en liste over regnearksfunktioner.

Vælg "Match" fra listen.

Et af problemerne i VBA under brug af regnearksfunktioner er, at vi ikke ser nøjagtig syntaks, som vi ser med regnearksfunktionen. Dette er en af ​​grundene til, at vi kun har forklaret syntaksen i starten.

Så det første argument er opslagsværdi, dvs. hvilken værdi vi ønsker at finde stedet. I dette tilfælde søger vi at finde stedet for "Mar", som er i C2-cellen, så angiv cellereferencen.

Det næste argument er opslagsarray, dvs. i hvilket område vi leder efter placeringen af ​​en opslagsværdi for disse forsyningsceller fra A2 til A6.

Det sidste argument vil være et nøjagtigt match, så lever 0.

Kode:

Sub Match_Example1 () Range ("D2"). Value = Application.WorksheetFunction.Match (Range ("C2"). Value, Range ("A2: A6"), 0) End Sub

Ok, vi er færdige med formlen.

Kør koden gennem F5-tasten og se, hvad vi får.

Så vi har fået resultatet som 3, fordi værdien ”Mar” er i stedet for 3 rd position i området A2 til A6.

Denne MATCH-funktion kan give placeringen af ​​opslagsværdien. MATCH-funktionen bruges dog stort set sammen med VLOOKUP-funktionen til at levere kolonneindeksnummeret baseret på kolonneoverskriften.

Eksempel 2

Nu vil vi se, hvordan man bruger MATCH som en understøttende funktion til VLOOKUP-funktionen.

Se på nedenstående data.

I ovenstående tabel ser vi på salget af "Feb" -månederne i 2018, så vi er nødt til at bruge VLOOKUP-funktionen. VLOOKUP er også en regnearksfunktion, så få adgang til dette som hvordan vi har fået adgang til MATCH-funktionen.

Opslagsværdi vil være G2-celle, så angiv celleadresse.

Kode:

Sub Match_Example2() Range("H2").Value = Application.WorksheetFunction.VLookup(Range("G2").Value, End Sub

Table Array will be from A2 to D6.

Code:

Sub Match_Example2() Range("H2").Value = Application.WorksheetFunction.VLookup(Range("G2").Value,Range("A2:D6"), End Sub

Now we need to provide from which column of the table array we are looking for the result, so this will be from the 3rd column. Instead of supplying the column number as 3, let’s use the MATCH function.

Code:

Sub Match_Example2() Range("H2").Value = Application.WorksheetFunction.VLookup(Range("G2").Value, Range("A2:D6"), Application.WorksheetFunction.Match(Range("H1").Value, Range("A1:D1"), 0), 0) End Sub

Så MATCH-funktionen giver kolonnenummeret fra området A1 til D1 for måneden "Feb". Lad os køre koden og se, hvordan den automatisk får kolonnenumre.

Derefter har vi et resultat fra kolonne nummer 2 takket være automatisk levering af kolonne nummer fra MATCH-funktion.

Ting at huske

  • MATCH-funktionen ser efter placeringen af ​​opslagsværdien i den valgte matrixtabel.
  • MATCH-funktionen bruges hovedsageligt sammen med VLOOKUP-funktionen til automatisk at angive kolonneindeksnummeret ved hjælp af kolonneoverskrift.
  • MATCH-funktionen er tilgængelig som en regnearkfunktion i VBA.

Interessante artikler...