ВБА Матцх - Како се користи функција подударања у ВБА Екцелу? (Примери)

Преглед садржаја

Као што имамо Индек и Матцх на радном листу као функције претраживања, такође можемо користити функције Матцх у ВБА као функцију претраживања, ова функција је функција радног листа и апликација јој приступа. метода радног листа и пошто је функција радног листа, аргументи за функцију подударања слични су функцији радног листа.

ВБА функција подударања

ВБА Матцх функција тражи положај или број реда вредности претраживања у пољу табеле, тј. У главној табели Екцел.

У радном листу, функције претраживања су саставни део Екцела. Неке од важних функција претраживања су ВЛООКУП, ХЛООКУП, ИНДЕКС и МАТЦХ. Нажалост, ове функције немамо као ВБА функције. Међутим, можемо их користити као функције радног листа у ВБА.

У овом чланку ћу вам показати како да користите једну од функција претраживања радног листа МАТЦХ у ВБА као функцију радног листа.

Како се користи функција МАТЦХ у ВБА Екцел?

Показаћемо вам једноставан пример коришћења функције Екцел МАТЦХ у ВБА.

Пример # 1

У ВБА, ову формулу МАТЦХ у Екцелу можемо користити као функцију радног листа. Следите кораке у наставку да бисте користили функцију МАТЦХ у ВБА.

Корак 1: Направите потпроцес давањем имена макронаредбе.

Шифра:

Суб Матцх_Екампле1 ()

Корак 2: У ћелији Е2 потребан нам је резултат, па покрените код као Распон („Е2“).

Шифра:

Суб Матцх_Екампле1 () Опсег ("Е2"). Вредност = Крај Суб

Корак 3: У Е2, вредност ћелије треба да буде резултат формуле МАТЦХ. Дакле, да бисмо приступили функцији ВБА МАТЦХ, прво морамо да користимо својство „ВорксхеетФунцтион“. У овом својству ћемо добити сву доступну листу функција радног листа.

Корак 4: Овде одаберите функцију МАТЦХ.

Шифра:

Суб Матцх_Екампле1 () опсег ("Е2"). Валуе = ВорксхеетФунцтион.Матцх (Енд Суб

Корак 5: Сада проблем започиње јер не добијамо тачно име синтаксе. Уместо тога, овако добијамо синтаксу као „Арг1, Арг2, Арг3“. Дакле, овде морате бити апсолутно сигурни у синтаксе.

Наш први аргумент је ЛООКУП ВАЛУЕ. Наша ВРЕДНОСТ ТРАЖЕЊА је у ћелији Д2, па изаберите ћелију као опсег („Д2“). Вредност .

Шифра:

Подударање_Пример1 () опсег ("Е2"). Вредност = ВорксхеетФунцтион.Матцх (опсег ("Д2"). Вредност, крајњи под

Корак 6: Други аргумент је Табле Арраи. Наш распон низа табела је од А2 до А10. Дакле, одаберите опсег као „Распон („ А2: А10 “)“

Шифра:

Суб Матцх_Екампле1 () опсег ("Е2"). Вредност = ВорксхеетФунцтион.Матцх (опсег ("Д2"). Вредност, опсег ("А2: А10"), крајњи под

Корак 7: Последњи аргумент је ТИП ТИПА. Потребно нам је тачно подударање, па вредност аргумента унесите као нулу.

Шифра:

Суб Матцх_Екампле1 () опсег ("Е2"). Вредност = ВорксхеетФунцтион.Матцх (опсег ("Д2"). Вредност, опсег ("А2: А10"), 0) Крај под

Покрените макронаредбу, добићемо положај ма ког имена године било у ћелији Д2.

Пример # 2 - ВБА меч из другог листа

Претпоставимо да се исти скуп података из горе наведеног налази на два различита листа. На пример, низ табела налази се у имену листа названом „Дата Схеет“, а Лоокуп Валуе налази се у имену листа „Ресулт Схеет“.

У овом случају, радне листове морамо упутити под њиховим називом пре него што се обратимо опсезима. Испод је скуп кодова са именима листова.

Шифра:

Суб Матцх_Екампле2 () листови („лист резултата“). Опсег („Е2“). Вредност = ВорксхеетФунцтион.Матцх (листови („лист резултата“) опсег („Д2“). Вредност, листови („лист података“). Опсег ("А2: А10"), 0) Крај Суб

Пример # 3 - ВБА функција подударања са петљама

Ако резултат желимо у једној ћелији, онда нема проблема, али ако резултат мора доћи у више ћелија, онда морамо да користимо ВБА петљу да бисмо добили резултат у свим ћелијама.

Претпоставимо да имате овакве податке.

У тим случајевима је херкулски задатак писати дугачке кодове, па прелазимо на петље. Испод је скуп кода који ће обавити посао за нас.

Шифра:

Суб Матцх_Екампле3 () Дим к као цео број за к = 2 до 10 ћелија (к, 5) .Валуе = ВорксхеетФунцтион.Матцх (Целлс (к, 4) .Валуе, Ранге ("А2: А10"), 0) Следећи к Крај Суб

Овај скуп кодова ће добити резултат у само трен ока.

Занимљиви Чланци...