VBA lietojumprogramma. Atbilstība - soli pa solim ar piemēriem

Excel VBA lietojumprogramma. Atbilst

Viena no labākajām lietām par VBA ir tā, ka tai ir sava funkcija, kā arī tā ļaus mums piekļūt visām darblapas funkcijām klasē “Darblapas funkcija”. Jums jau ir jāizmanto funkcija MATCH kā darblapas funkcija, taču tā nav VBA funkcija, tāpēc mums ir jāpiekļūst darblapas funkciju klasē. Šajā rakstā mēs parādīsim, kā izmantot MATCH funkciju VBA, izmantojot lietojumprogrammas metodi.

Ātra MATCH funkcijas pārskatīšana

MATCH ir uzmeklēšanas funkcija, kas meklē uzmeklēšanas vērtības pozīciju minētajā uzmeklēšanas masīvā. Piemēram, aplūkojiet zemāk redzamo datu attēlu.

Iepriekš minētajos datos mums ir mēneši no A2 līdz A6, un, ja mēs vēlamies uzzināt, kurā vietā notiek “Mar” mēnesis, tad mēs varam izmantot funkciju MATCH.

Zemāk ir funkcijas MATCH sintakse.

MATCH (uzmeklēšanas vērtība, uzmeklēšanas masīvs, (atbilstības veids))
  • Uzmeklēšanas vērtība: kurai vērtībai mēs meklējam pozīciju uzmeklēšanas masīvā.
  • Uzmeklēšanas masīvs: kurā masīvā mēs meklējam uzmeklēšanas vērtības pozīciju .
  • (Atbilstības veids): Šim nolūkam mēs varam sniegt trīs argumentus.
  1. 1 = mazāk nekā
  2. 0 = precīza atbilstība
  3. -1 = lielāks nekā

Lielāko daļu laika mēs izmantojam tikai “0 precīzu atbilstību”.

Kā lietot Application.Match funkciju VBA?

1. piemērs

Apskatiet zemāk esošos datus programmā Excel.

No iepriekš minētajiem datiem mums jāatrod “Mar” mēneša pozīcija šūnu diapazonā no A2 līdz A6. Tā kā mums ir vajadzīgi rezultāti D2 šūnās, nekavējoties sāciet kodu kā diapazonu (“D2”).

Lai iegūtu vērtību D2 šūnā, mums jāizmanto MATCH darblapas funkcija, tāpēc, lai vispirms piekļūtu šai, mums ir jāpiekļūst objektam APPLICATION un pēc tam objektam WORKSHEET FUNCTION.

Ievadiet punktu, lai redzētu darblapas funkciju sarakstu.

Sarakstā izvēlieties “Match”.

Viena no VBA problēmām, lietojot darblapas funkcijas, mēs neredzam precīzu sintaksi, kā redzam ar darblapas funkciju. Tas ir viens no iemesliem, kāpēc mēs tikai sākumā esam skaidrojuši sintaksi.

Tātad pirmais arguments ir uzmeklēšanas vērtība, ti, kurai vērtībai mēs meklējam vietu. Šajā gadījumā mēs meklējam vietu “Mar”, kas atrodas C2 šūnā, tāpēc norādiet šūnas atsauci.

Nākamais arguments ir uzmeklēšanas masīvs, ti, kurā diapazonā mēs meklējam uzmeklēšanas vērtības pozīciju šai piegādes šūnām no A2 līdz A6.

Pēdējais arguments būs precīza atbilstība, tāpēc norādiet 0.

Kods:

Apakšsakritības_piemērs1 () Diapazons ("D2"). Vērtība = Application.WorksheetFunction.Match (Diapazons ("C2"). Vērtība, Diapazons ("A2: A6"), 0) Beigas Sub

Labi, mēs esam izdarījuši formulu.

Palaidiet kodu caur F5 taustiņu un redziet, ko mēs iegūstam.

Tātad, mēs esam ieguvuši rezultātu kā 3 jo vērtība "Mar" atrodas vietā 3 trešajā pozīcijā diapazonā A2 līdz A6.

Šī MATCH funkcija var nodrošināt uzmeklēšanas vērtības pozīciju. Tomēr funkcija MATCH lielā mērā tiek izmantota kopā ar funkciju VLOOKUP, lai piegādātu kolonnas indeksa numuru, pamatojoties uz kolonnas galveni.

2. piemērs

Tagad mēs redzēsim, kā izmantot MATCH kā atbalsta funkciju funkcijai VLOOKUP.

Apskatiet zemāk esošos datus.

Iepriekš minētajā tabulā mēs aplūkojam 2018. gada “Feb” mēneša pārdošanas apjomus, tāpēc mums jāizmanto funkcija VLOOKUP. VLOOKUP ir arī darblapas funkcija, tāpēc piekļūstiet tam, piemēram, tam, kā esam piekļuvuši funkcijai MATCH.

Uzmeklēšanas vērtība būs G2 šūna, tāpēc piegādes šūnas adrese.

Kods:

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

Tātad funkcija MATCH nodrošina kolonnas numuru no diapazona A1 līdz D1 mēnesim “Feb”. Palaidīsim kodu un redzēsim, kā tas automātiski iegūst kolonnu numurus.

Šeit jums ir rezultāts no 2. slejas numura, pateicoties automātiskai kolonnu numuru piegādei no funkcijas MATCH.

Atceramās lietas

  • Funkcija MATCH meklē uzmeklēšanas vērtības pozīciju izvēlētajā masīvu tabulā.
  • Funkciju MATCH galvenokārt izmanto kopā ar funkciju VLOOKUP, lai automātiski sniegtu kolonnu indeksa numuru, izmantojot kolonnu virsrakstu.
  • Funkcija MATCH ir pieejama kā darblapas funkcija VBA.

Interesanti raksti...