VBA taikymas. Atitikimas - žingsnis po žingsnio vadovas su pavyzdžiais

„Excel VBA“ programa. Atitikimas

Vienas iš geriausių dalykų, susijusių su VBA, yra tai, kad jis turi savo funkciją, taip pat leis mums pasiekti visas darbalapio funkcijas, priklausančias „Darbalapio funkcijų“ klasei. Jūs jau turite naudoti funkciją MATCH kaip darbalapio funkciją, bet tai nėra VBA funkcija, todėl turime pasiekti pagal darbalapio funkcijų klasę. Šiame straipsnyje mes parodysime, kaip naudoti MATCH funkciją VBA naudojant „Application“ metodą.

Greita MATCH funkcijos apžvalga

MATCH - tai paieškos funkcija, ieškanti paieškos vertės padėties minėtame paieškos masyve. Pavyzdžiui, pažiūrėkite į toliau pateiktą duomenų vaizdą.

Minėtuose duomenyse mes turime mėnesius nuo A2 iki A6, ir jei mes norime žinoti, kurioje vietoje įvyksta „Mar“ mėnuo, galime naudoti funkciją MATCH.

Žemiau pateikiama MATCH funkcijos sintaksė.

ATITIKTI (paieškos vertė, paieškos masyvas, (atitikties tipas))
  • Paieškos vertė: kuriai vertei ieškome pozicijos paieškos masyve.
  • Paieškos masyvas: kuriame masyve ieškome paieškos vertės padėties.
  • (Atitikties tipas): Tam galime pateikti tris argumentus.
  1. 1 = mažiau nei
  2. 0 = Tiksli atitiktis
  3. -1 = didesnis nei

Dažniausiai naudojame tik „0 Exact Match“.

Kaip naudoti „Application.Match“ funkciją VBA?

1 pavyzdys

Pažvelkite į žemiau pateiktus duomenis „Excel“.

Iš pirmiau minėtų duomenų turime rasti „Mar“ mėnesio padėtį ląstelių diapazone nuo A2 iki A6. Kadangi mums reikia rezultatų D2 langeliuose, iškart pradėkite kodą kaip diapazoną („D2“).

Norėdami gauti vertę į D2 langelį, turime naudoti MATCH darbalapio funkciją, todėl norėdami pirmiausia tai pasiekti, turime pasiekti objektą APPLICATION, o tada - WORKSHEET FUNCTION.

Įveskite tašką, kad pamatytumėte darbalapio funkcijų sąrašą.

Iš sąrašo pasirinkite „Match“.

Viena iš VBA problemų naudojant darbalapio funkcijas yra ta, kad nematome tikslios sintaksės, kaip matome su darbalapio funkcija. Tai yra viena iš priežasčių, kodėl sintaksę paaiškinome tik pradžioje.

Taigi pirmasis argumentas yra paieškos vertė, ty kuriai vertei ieškome vietos. Šiuo atveju mes ieškome „Mar“ vietos, esančios C2 langelyje, todėl pateikite langelio nuorodą.

Kitas argumentas yra paieškos masyvas, ty kuriame diapazone ieškome šios vertės ląstelių nuo A2 iki A6 paieškos vertės padėties .

Paskutinis argumentas bus tiksli atitiktis, todėl pateikite 0.

Kodas:

Papildomas atitikties_pavyzdys1 () diapazonas ("D2"). Reikšmė = Application.WorksheetFunction.Match (diapazonas ("C2"). Reikšmė, diapazonas ("A2: A6"), 0) Pabaiga Sub

Gerai, mes baigėme formulę.

Paleiskite kodą naudodami klavišą F5 ir pažiūrėkite, ką gauname.

So we have got the result as 3 because the value “Mar” is in the place of 3rd position in the range A2 to A6.

This MATCH function can provide the position of the lookup value. However, MATCH function largely used with the VLOOKUP function to supply the column index number based on the column header.

Example #2

Now we will see how to use MATCH as a supporting function for the VLOOKUP function.

Look at the below data.

In the above table, we are looking at the year 2018 “Feb” month sales, so we need to use the VLOOKUP function. VLOOKUP is also a worksheet function, so access this like how we have accessed the MATCH function.

Lookup Value will be G2 cell, so supply cell address.

Code:

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

Taigi funkcija MATCH pateikia „Vas“ mėnesio stulpelio numerį nuo A1 iki D1. Paleiskime kodą ir pažiūrėkime, kaip jis automatiškai gauna stulpelių numerius.

Štai, mes turime 2 stulpelio numerio rezultatą dėl automatinio stulpelio numerio tiekimo iš funkcijos MATCH.

Ką reikia atsiminti

  • Funkcija MATCH ieško paieškos vertės padėties pasirinktoje masyvo lentelėje.
  • Funkcija MATCH daugiausia naudojama kartu su funkcija VLOOKUP, kad stulpelio indekso numeris būtų pateiktas automatiškai naudojant stulpelio antraštę.
  • Funkciją MATCH VBA galima naudoti kaip darbalapio funkciją.

Įdomios straipsniai...