Kao što imamo Index i Match na radnom listu kao funkcije pretraživanja, također možemo koristiti funkcije Match u VBA kao funkciju pretraživanja, ova funkcija je funkcija radnog lista i aplikacija joj pristupa. metoda radnog lista, a budući da se radi o funkciji radnog lista, argumenti za funkciju podudaranja slični su funkciji radnog lista.
VBA funkcija podudaranja
VBA Match funkcija traži položaj ili broj retka tražene vrijednosti u polju tablice, tj. U glavnoj excel tablici.

U radnom listu, funkcije pretraživanja sastavni su dio Excela. Neke od važnih funkcija pretraživanja su VLOOKUP, HLOOKUP, INDEX i MATCH. Nažalost, ove funkcije nemamo kao VBA funkcije. Međutim, možemo ih koristiti kao funkcije radnog lista u VBA-u.
U ovom članku pokazat ću vam kako koristiti jednu od funkcija pretraživanja radnog lista MATCH u VBA kao funkciju radnog lista.
Kako koristiti funkciju MATCH u VBA Excelu?
Pokazat ćemo vam jednostavan primjer korištenja funkcije Excel MATCH u VBA.
Primjer # 1
U VBA ovu formulu MATCH u Excelu možemo koristiti kao funkciju radnog lista. Slijedite korake u nastavku da biste koristili funkciju MATCH u VBA.
Korak 1: Stvorite potpostupak davanjem imena makronaredbe.
Kodirati:
Podudaranje_Primjer1 ()

Korak 2: U E2 ćeliji potreban nam je rezultat, pa pokrenite kôd kao Raspon ("E2").
Kodirati:
Sub Match_Example1 () Raspon ("E2"). Vrijednost = Kraj Sub

Korak 3: U E2, vrijednost ćelije trebala bi biti rezultat formule MATCH. Dakle, da bismo pristupili funkciji VBA MATCH, prvo moramo koristiti svojstvo "WorksheetFunction". U ovom svojstvu dobit ćemo sve dostupne popise funkcija radnog lista.

Korak 4: Ovdje odaberite funkciju MATCH.
Kodirati:
Podudaranje_Primjer1 () Raspon ("E2"). Vrijednost = Radni listFunction.Match (Kraj pod

Korak 5: Sada problem započinje jer ne dobivamo točno ime sintakse. Umjesto toga, ovako dobivamo sintaksu kao "Arg1, Arg2, Arg3". Dakle, ovdje morate biti apsolutno sigurni u sintakse.
Naš prvi argument je LOOKUP VRIJEDNOST. Naša VRIJEDNOST PRETRAGE nalazi se u ćeliji D2, pa odaberite ćeliju kao Raspon ("D2"). Vrijednost .
Kodirati:
Podudaranje_Primjer1 () Raspon ("E2"). Vrijednost = Radni listFunction.Match (Raspon ("D2"). Vrijednost, krajnji pod

Korak 6: Drugi argument je Array tablice. Naš raspon polja tablica kreće se od A2 do A10. Dakle, odaberite raspon kao "Raspon (" A2: A10 ")"
Kodirati:
Sub Match_Example1 () Raspon ("E2"). Vrijednost = WorksheetFunction.Match (Raspon ("D2"). Vrijednost, Raspon ("A2: A10"), Kraj Sub

Korak 7: Posljednji argument je TIP VRIJEDNOSTI. Treba nam točno podudaranje, pa vrijednost argumenta unesite kao nulu.
Kodirati:
Sub Match_Example1 () Raspon ("E2"). Vrijednost = WorksheetFunction.Match (Raspon ("D2"). Vrijednost, raspon ("A2: A10"), 0) Kraj Sub

Pokrenite makronaredbu dobit ćemo položaj bilo kojeg imena godine u ćeliji D2.

Primjer # 2 - VBA utakmica iz drugog lista
Pretpostavimo da se isti skup podataka iz gore navedenog nalazi na dva različita lista. Na primjer, niz tablice nalazi se u nazivu lista nazvanom "Data Sheet", a Lookup Value nalazi se u imenu lista "Result Sheet".
U ovom slučaju, radne listove moramo uputiti pod njihovim nazivom prije nego što se obratimo rasponima. Ispod je skup kodova s imenima listova.
Kodirati:
Sub Match_Example2 () listovi ("List rezultata"). Raspon ("E2"). Vrijednost = WorksheetFunction.Match (listovi ("List rezultata"). Raspon ("D2"). Vrijednost, listovi ("List podataka"). Raspon ("A2: A10"), 0) Kraj Sub

Primjer # 3 - VBA funkcija podudaranja s petljama
Ako rezultat želimo u jednoj ćeliji, onda nema problema, ali ako rezultat mora doći u više ćelija, tada moramo koristiti VBA petlju da bismo dobili rezultat u svim stanicama.
Pretpostavimo da imate ovakve podatke.

U tim je slučajevima herkulski zadatak pisati dugačke kodove, pa prelazimo na petlje. Ispod je skup koda koji će obaviti posao za nas.
Kodirati:
Sub Match_Example3 () Dim k kao cijelo za k = 2 do 10 ćelija (k, 5) .Vrijednost = Funkcija radnog lista.Usklada (ćelije (k, 4) .Vrijednost, raspon ("A2: A10"), 0) Sljedeći k Kraj Pod

Ovaj skup kodova dobit će rezultat u samo tren oka.
