VBA utakmica - Kako koristiti funkciju podudaranja u VBA Excelu? (Primjeri)

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.

Zanimljivi članci...