Екцел ВБА Матцх Фунцтион

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

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

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

Синтакса функције подударања у Екцелу ВБА

ВБА Матцх има следећу синтаксу:

Где,

  • Арг1 - Лоокуп_валуе - Вредност која вам је потребна за проналажење у одређеном низу.
  • Арг2 - Лоокуп_арраи - низ редова и ступаца који садрже могућу Лоокуп_валуе.
  • Арг3 - Матцх_типе - Врста подударања која узима вредност -1, 0 или 1.

Ако матцх_типе = -1 значи да ће функција МАТЦХ сазнати најмању вредност која је већа или једнака лоокуп_валуе. Да би се то догодило, лоокуп_арраи мора бити сортиран силазним редоследом.

Ако матцх_типе = 0 значи да ће функција МАТЦХ сазнати вредност која је потпуно иста као и вриједност лоокуп_валуе.

Ако матцх_типе = +1 то значи да ће функција МАТЦХ пронаћи највећу вредност која је мања или једнака лоокуп_валуе. Да би се то догодило, лоокуп_арраи мора бити сортиран узлазним редоследом. Подразумевана вредност за тип подударања је +1.

Како се користи Екцел ВБА Матцх Матцх?

Научићемо како да користимо ВБА Матцх Екцел функцију са неколико примера.

Можете преузети овај ВБА Матцх Екцел предложак овде - ВБА Матцх Екцел предложак

ВБА Матцх Фунцтион - Пример бр. 1

Претпоставимо да имамо податке као што је приказано у наставку:

Морамо пронаћи ко са ове листе има плату 30.000 евра заједно са позицијом у Екцелу.

Иако у овом скупу података то можемо ручно конфигурирати, размислите о широј слици, шта ако имате милионе редака и ступаца?

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

Корак 1: Дефинишите подпроцеду тако што ћете дати име макронаредби.

Шифра:

 Суб екматцх1 () Крај Суб 

Корак 2: Сада желимо да се наш излаз сачува у ћелији Е2. Стога започните писати код као распон („Е2“)

Ово дефинише опсег излаза за наш резултат.

Шифра:

 Под екматцх1 () Распон ("Е2") Вредност = Крај Суб 

Корак 3: Користите ВорксхеетФунцтион да бисте могли да користите ВБА функције.

Шифра:

 Под екматцх1 () Распон ("Е2") Вредност = ВорксхеетФунцтион Енд Суб 

Корак 4: ВорксхеетФунцтион има разне функције којима се може приступити и користити под ВБА. Након „ВорксхеетФунцтион“, ставите тачку (.) И тада ћете моћи да приступите функцијама. Изаберите функцију МАТЦХ из падајуће листе.

Шифра:

 Подручје суб екматцх1 () () Е2 "Вриједност = ВорксхеетФунцтион.Матцх Енд Суб 

Корак 5: Сада, дајте аргументе функцији МАТЦХ. Као Лоокуп_валуе. Наш Лоокуп_валуе је смештен у ћелији Д2 као што је приказано на слици доле. Можете му приступити под функцијом МАТЦХ помоћу функције Ранге.

Шифра:

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

Корак 6: Други аргумент је Лоокуп_арраи. Ово је распон таблица у којем желите сазнати позицију Лоокуп_валуе. У нашем случају то је (Б1: Б11). Обезбедите овај низ помоћу функције Ранге.

Шифра:

 Под екматцх1 () Распон ("Е2") Вредност = ВорксхеетФунцтион.Матцх (Распон ("Д2"). Вредност, домет ("Б1: Б11"), Крај Под 

Корак 7: Последњи аргумент који овај код треба да разради је Матцх_типе. Желели смо да имамо тачно подударање за Лоокуп_валуе у датом распону> Стога, наведите Зеро (0) као одговарајући аргумент.

Шифра:

 Суб екматцх1 () Распон ("Е2") Вредност = ВорксхеетФунцтион.Матцх (Распон ("Д2"). Вредност, домет ("Б1: Б11"), 0) Крај Под 

Корак 8: Покрените овај код притиском на Ф5 или Рун дугме и погледајте излаз.

Можете видети у ћелији Е2, да постоји нумеричка вредност (6) која приказује положај вредности из ћелије Д2 до распона Б1: Б11.

Пример бр. 2 - Функција ВБА подударања са петљицама

Лако је када имате само једну вриједност за претраживање у цијелом распону. Али, шта ако треба да проверите положај за одређени број ћелија? Било би оштро према особи која додаје да би је тражио да напише одвојене кодове за сваку ћелију.

У таквим случајевима, функција МАТЦХ се може користити са петљом (посебно за петљу у нашем случају). Погледајте следеће кораке да бисте добили представу о томе како користимо МАТЦХ функцију са петљом.

Корак 1: Дефинишите подпроцедуру тако што ћете давати име макронаредби.

Шифра:

 Суб Пример2 () Крај Суб 

Корак 2: Дефинишите цео број који може да задржи вредност за више ћелија у петљи.

Шифра:

 Примјер2 () Дим и као цјеловити крај Под 

Корак 3: Користите за петљу на целом броју да бисте користили различите вредности претраге чији се положај може сачувати у колони Е.

Шифра:

 Суб Пример2 () Дим и као цео број за и = 2 до 6 Крајњи пот 

Корак 4: Сада користите исти метод који смо користили у примеру 1, уместо распона, користићемо функцију Челије и користићемо дводимензионални низ (Редови и ступци) за разлику од првог примера.

Шифра:

 Под-пример2 () Дим и као цео број за и = 2 до 6 ћелија (и, 5) .Валуе = ВорксхеетФунцтион.Матцх (ћелије (и, 4) .Валуе, домет ("Б2: Б11"), 0) Следећи и крај Суб 

Овде ћелије (и, 5) .Валуе = чува вредност резултирајућих позиција у сваком реду од 2 до 6 (ред и) у колони Е (ступац број 5). У функцији подударања, ћелије (и, 4). Вриједности провјеравају сваку Лоокуп_валуе присутну у редима 2 до 6 у четвртој колони. Та вредност претраживања је затим претраживала у Арраи Б2: Б11 у екцел листу где су подаци присутни и релативни положаји се могу сместити у сваки ред колоне 5 (ступац Е).

Корак 5: Покрените овај код притиском на Ф5 или Рун дугме истовремено и погледајте резултат. Готово ће извући магију у комаду кода са једном линијом.

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

Ствари које треба запамтити

  • Лоокуп_валуе може бити број / текст / логичка вредност или може бити референца у ћелији на број, текст или логичку вредност.
  • Подразумевано, Матцх_типе се може сматрати бројем 1, ако је изостављен / није поменут.
  • Као што је и Екцел МАТЦХ функција, ВБА МАТЦХ такође даје релативни положај Лоокуп_валуе под Лоокуп_арраи, а не саму вредност.
  • Ако се подударање не нађе, релативна ћелија Екцела бити ће попуњена с # Н / А.
  • Ако се функција МАТЦХ користи за Тект вредности, она не може разликовати између малих и великих слова. На пример, Лалит и лалит су исти. Тако и ЛАЛИТ и лалит.
  • Замјенски знакови могу се користити ако сазнате тачно подударање (тј. Врста подударања је нула). Звездица знакова с малим знаком (*) може се користити за проналажење низа знакова. Иако се упитник (?) Може користити за проналажење једног знака.

Препоручени чланци

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

  1. Комплетан водич за грешку ВБА о грешци
  2. Како се користи ВБА формат броја?
  3. ВБА ВЛООКУП функција са примерима
  4. Стварање ВБА функције у Екцелу
  5. Функција подударања у Екцелу (примери)

Категорија: