VBA Application.Match - vodnik po korakih s primeri

Excel VBA Application.Match

Ena najboljših stvari pri VBA je, da ima lastno funkcijo in nam bo omogočil tudi dostop do vseh funkcij delovnega lista v razredu »Funkcija delovnega lista«. Funkcijo MATCH ste že uporabljali kot funkcijo delovnega lista, vendar to ni funkcija VBA, zato moramo dostopati pod razredom funkcije delovnega lista. V tem članku vam bomo pokazali, kako uporabljati funkcijo MATCH v VBA z uporabo metode Application.

Hitro povzetek funkcije MATCH

MATCH je iskalna funkcija, ki išče položaj iskalne vrednosti v omenjenem iskalnem polju. Na primer, poglejte spodnjo sliko podatkov.

V zgornjih podatkih imamo mesece od A2 do A6 in če želimo vedeti, na katerem mestu nastopi mesec »mar«, potem lahko uporabimo funkcijo MATCH.

Spodaj je sintaksa funkcije MATCH.

MATCH (Lookup Value, Lookup Array, (Match Type))
  • Iskalna vrednost: za katero vrednost iščemo položaj v iskalnem polju.
  • Lookup Array: V kateri matriki iščemo položaj iskalne vrednosti.
  • (Vrsta ujemanja): Za to lahko navedemo tri argumente.
  1. 1 = Manj kot
  2. 0 = Natančno ujemanje
  3. -1 = večje od

Največkrat uporabljamo samo "0 natančno ujemanje".

Kako uporabiti funkcijo Application.Match v VBA?

Primer # 1

Oglejte si spodnje podatke v Excelu.

Iz zgornjih podatkov moramo poiskati položaj meseca »mar« v območju celic od A2 do A6. Ker potrebujemo rezultate v celicah D2, takoj zaženite kodo kot Obseg ("D2"). Vrednost =.

Če želimo prispeti vrednost v celico D2, moramo uporabiti funkcijo delovnega lista MATCH, zato moramo najprej dostopati do predmeta APPLICATION in nato predmeta WORKSHEET FUNCTION.

Vnesite piko, da se prikaže seznam funkcij delovnega lista.

Na seznamu izberite “Match”.

Ena od težav v VBA pri uporabi funkcij delovnega lista je, da ne vidimo natančne sintakse, kot jo vidimo pri funkciji delovnega lista. To je eden od razlogov, da smo sintakso razložili samo na začetku.

Torej, prvi argument je iskalna vrednost, tj. Za katero vrednost iščemo kraj. V tem primeru iščemo mesto za "Mar", ki je v celici C2, zato navedite referenco celice.

Naslednji argument je iskalno polje, tj. V katerem obsegu iščemo položaj iskalne vrednosti za te dobavne celice od A2 do A6.

Zadnji argument se bo natančno ujemal, zato navedite 0.

Koda:

Sub Match_Example1 () Obseg ("D2"). Vrednost = Application.WorksheetFunction.Match (Obseg ("C2"). Vrednost, obseg ("A2: A6"), 0) Konec Sub

Ok, končali smo s formulo.

Zaženite kodo skozi tipko F5 in poglejte, kaj bomo dobili.

Tako smo dobili rezultat, kot 3, ker je vrednost "Mar", je na mestu 3 rd položaja v območju A2 v A6.

Ta funkcija MATCH lahko zagotovi položaj iskalne vrednosti. Vendar se funkcija MATCH v glavnem uporablja s funkcijo VLOOKUP za podajanje indeksne številke stolpca na podlagi glave stolpca.

2. primer

Zdaj bomo videli, kako uporabiti MATCH kot podporno funkcijo za funkcijo VLOOKUP.

Oglejte si spodnje podatke.

V zgornji tabeli si ogledamo mesečno prodajo za mesec februar za leto 2018, zato moramo uporabiti funkcijo VLOOKUP. VLOOKUP je tudi funkcija delovnega lista, zato dostopajte do tega, na primer, kako smo dostopali do funkcije MATCH.

Iskalna vrednost bo celica G2, zato vnesite naslov celice.

Koda:

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

Torej funkcija MATCH zagotavlja številko stolpca od območja A1 do D1 za mesec "februar". Zaženimo kodo in poglejmo, kako samodejno dobi številke stolpcev.

Tu smo dobili rezultat iz stolpca številka 2 zahvaljujoč samodejni dobavi številke stolpca iz funkcije MATCH.

Stvari, ki si jih je treba zapomniti

  • Funkcija MATCH išče položaj iskalne vrednosti v izbrani tabeli matrike.
  • Funkcija MATCH se v glavnem uporablja s funkcijo VLOOKUP za samodejno podajanje indeksne številke stolpca z uporabo naslova stolpca.
  • Funkcija MATCH je na voljo kot funkcija delovnega lista v VBA.

Zanimive Članki...