Како користити ИНДЕКС МАТЦХ са Екцел ВБА

  • Деле Ово
Hugh West

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

Зашто бисте желели да користите функције Екцел Ворксхеет у свом ВБА код ? Па да проширите функционалност кода који користите. Такође, не морате да смишљате сопствене функције, осим ако заиста не морате, ако је функционалност већ ту. Све што у суштини треба да урадите је да приступите функцији која вам је потребна пошто је већ ту и онда нема потребе да поново измишљате точак.

Дакле, хајде да почнемо са примером који показује како да користите ИНДЕКС  МАТЦХ са Екцел ВБА.

Користићемо ИНДЕКС и МАТЦХ Функције у Екцел ВБА цоде , како би се направио једноставан кориснички образац. Користећи формулар, корисник бира име ученика, а затим се преузима и враћа одговарајући пол ученика и боја очију.

Преузми свеску за вежбу

Преузми радну свеску за вежбу на вежбајте сами.

ИНДЕКС-МАТЦХ.клск

9 једноставних корака за коришћење ИНДЕКС-а и МАТЦХ унутар ВБА кода

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

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

Корак 1: Примени функције ИНДЕКС и МАТЦХ у скупу података

  • Почињемо са два листа у нашем макроу -омогућена радна свеска. Један је празан лист који се зове УсерФорм , други је лист под називом Информације о ученику , који садржи опсег који приказује имена ученика, њихов одговарајући пол и боју очију као приказано испод.

Хајде да се брзо подсетимо да ли желимо да користимо ИНДЕКС и МАТЦХ Функционише у једној формули, у стварном радном листу да нам дају пол имена ученика којег желимо да потражимо. Користили бисмо следећу формулу:

=INDEX(B2:B31, MATCH("Diana Graham", A2:A31, 0))

  • Притиском на ЦТРЛ-ЕНТЕР , добијамо враћену вредност Жене, као пол као што је приказано испод.

Корак 2: Промените назив колоне Б у Имена ученика

  • Сада ћемо именовати опсег А2: А31 , Имена ученика као што је приказано испод.

  • Сакријте лист Информације о ученицима тако што ћете кликнути десним тастером миша и изабрати Сакриј. Добра је идеја да површно сакријете позадинске радне листове који садрже информације које не желите да корисник уређује или види.

Корак 3: Отвори прозор Висуал Басиц

  • Сада са активираним листом УсерФорм, идемо на Програмер &гт; Код &гт; Висуал Басиц да бисте отворили Висуал Басиц Едитор (ВБЕ) .
  • Једном у ВБЕ интерфејсу , идемо на Инсерт, УсерФорм као што је приказано испод .

Корак 4: Промените својства и додајте оквире за текст

  • Коришћење прозора Својства , преименоваћемо нашу форму у СтудентЛоокуп , променити натпис у Лоокуп Студент Информатион, променити БацкЦолор у светло плаву и поставити висину на 300 пк и ширину на 350 пк. Ако се прозор са својствима не прикаже, притисните тастер Ф4 на тастатури да бисте га видели.

  • Ми ће сада уметнути ознаку користећи Тоолбок (ако не можете да видите Тоолбок, из неког разлога идите на Виев, Тоолбок ), промените натпис у Цхоосе а студент и ми ћемо променити БацкЦолор у овом случају у белу. Поставићемо фонт на Георгиа , стил фонта на болд , величину фонта на 12 и центар поравнајте текст. Специјални ефекат који се користи биће 1– фмСпециалЕффецтРаисед као што је приказано испод.

  • Сада ћемо уметнути комбиновани оквир испод етикета. Именујте овај комбиновани оквир цмдСтудентНаме и за РовСоурце унесите Имена ученика.

  • Да бисте видели ефекат подешавања РовСоурце комбинованог оквира, Кликните на дугме Покрени Суб/УсерФорм .
  • Сада због подешавања РовСоурце до именованог опсега, када корисник кликне на стрелицу падајућег менија на корисничком обрасцу, комбиновани оквир приказује имена ученика из именованог опсега, као што је приказано испод.

  • Затворите кориснички образац кликом на дугме за затварање. Притисните Алт-Ф11 да бисте се вратили на ВБЕ .
  • Када се вратите у ВБЕ , додајте другу ознаку у кориснички образац ( испод комбинованог оквира) и промените Наслов у Пол и ми ћемо променити БацкЦолор у бело у овом случају. Поставићемо фонт на Георгиа , стил фонта на болд , величину фонта на 12 , а центар поравнати текст . Специјални ефекат који се користи биће 1– фмСпециалЕффецтРаисед као што је приказано испод.

  • Креирајте оквир за текст испод ознаке Гендер лабел и назовите је тктГендер .
  • Додајте другу ознаку под називом Еие Боја и текстуални оквир под називом тктЕиеЦолоур као што је приказано испод. Користите иста својства за ознаку као и за две друге ознаке које су претходно додате у образац, како бисте осигурали да УсерФорм има доследан изглед.

  • Сада Изаберите све контроле, додате у УсерФорм , до сада користећи контролни тастер.

  • Центрирај хоризонтално, као што је приказано испод.

Прочитај Више: Како користити формулу ИНДЕКС МАТЦХ у Екцел-у (9 примера)

Слична очитавања

  • Екцел ИНДЕКС МАТЦХ Ако ћелија садржи текст
  • Како користити формулу ИНДЕКС-МАТЦХ у Екцел-у за генерисање више резултата
  • Индек Матцх Сум више редова у Екцел-у (3 начина)
  • Научите Екцел ВБА програмирање &амп; Макрои (бесплатни водич – корак по корак)
  • 22 примера макроа у Екцел ВБА

Корак 5: Додајте дугме из кутије са алаткама

  • Следеће, Додајте дугме у образац користећи Тоолбок . Промените Назив дугмета у цмдЛоокУп , БацкЦолор у светло наранџасту, задржите фонт Тахома и промени стил у подебљано , коначно промени Наслов дугмета у Погледај горе Ученик Детаљи као што је приказано испод.

Корак 6: Уметните ВБА код

  • Кликните десним тастером миша , ново додато дугме и одаберите Прикажи Код .

  • Унесите следећи код за дугме клик догађај:

5006

Почињемо тако што декларишемо три варијабле и додељујемо тип података варијанте овим декларисаним варијантне типове података. Варијанта типа података је добар тип података за почетак. Јер када радите са радним листом функцијама , можда нећете увек бити сигурни у излазе. Зато користите варијантни тип података када почињете.

Касније, препоручљиво је да користите неки од других специфичнијих типова података као што је цео број или стринг. За напреднији дужи код, варијантни тип података не користи меморију тако ефикасно као други типови података.

Варијабла а црта вредност из опције коју корисник изабере у падајући комбиновани оквир на УсерФорм . Ако нема избора, сви остали оквири за текст су празни .

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

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

Променљива б достиже вредност од пол колона на радном листу, док променљива ц добија вредност из колоне Боја очију на радном листу.

Поло за пол је попуњено са б 'с вредност и оквир за текст боје ока је попуњен вредношћу ц .

Прочитајте више: Екцел ВБА догађаји (комплетно упутство)

Корак 7: Уметните командно дугме

  • Сада идите на радни лист под називом УсерФорм у вашој радној свесци. Форматирајте , као што је приказано испод, и убаци слику коју обезбеђује ЕкцелВИКИ .

  • Иди на Програмер &гт; Контроле &гт; Уметни &гт; АцтивеКс контроле.

  • Убаци дугме као што је приказано.

  • Са селектованим дугметом, идите на Програмер &гт; Контроле &гт; Својства .

  • Промени Назив дугмета у цмдСховФорм и Наслов до Потражи Информације о ученику .

Корак 8: Прегледајте Потражи код

  • Кликните десним тастером на дугме и одаберите Прикажи код као што је приказаноиспод.

  • Унесите следећи код:
1721

Корак 9: Прикажите коначни резултат

  • Вратите се на радни лист. Уверите се да је неозначен Десигн Моде .
  • Кликните на дугме да бисте приказали образац.

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

Не заборавите сачувати своју радну свеску као радну свеску са омогућеним макроима , ако то већ нисте урадили и ето га, користимо ИНДЕКС &амп; МАТЦХ Ворксхеет Функције у Екцел ВБА коду како би се направио образац за тражење.

Прочитајте више: Екцел ИНДЕКС-МАТЦХ формула за враћање више вредности хоризонтално

Закључак

Екцел има много корисних функција радног листа , које се могу користити у ВБА , као, користећи ИНДЕКС &амп; УПОРАБНИ функције радног листа у Екцел ВБА коду. Ове функције ће вам омогућити да проширите свој ВБА код. Ако већ знате како раде у стандардном Екцел радни лист онда крива учења није тако сјајна прилагођавањем знања за ВБА . Приступ функцијама радног листа у нечијем ВБА коду може бити стварна уштеда времена. Зато што не морате да развијате прилагођене функције за функционалност која већ постоји.

Молим вас да коментаришете и кажетенас ако користите функције радног листа у свом ВБА коду и апликацијама.

Одељак за преглед: Тестирајте своје разумевање

1) Поставите једноставну листу у колони А од три ставке, односно мандарине, шаргарепе и поморанџе , а затим у ћелији поред сваке ставке у колони Б навести да ли су ставке у колони А воће или поврће, када завршите са подешавањем података узорка, користите ИНДЕКС &амп; Комбинована функција МАТЦХ за испоруку да ли је шаргарепа воће или поврће.

2) Користите овај скуп података из ЕСПН-а за главне тренере НФЛ-а и одговарајући тим који тренирају. Креирајте кориснички образац који омогућава кориснику да унесе име одређеног тренера у оквир за текст. Затим нека се тим који тренира испоручи у другом текстуалном оквиру када корисник кликне на „Пошаљи“. Користите ИНДЕКС &амп; МАТЦХ комбинација функција радног листа унутар вашег ВБА кода.

Хју Вест је веома искусан Екцел тренер и аналитичар са више од 10 година искуства у индустрији. Дипломирао је рачуноводство и финансије и магистрирао пословну администрацију. Хју има страст према подучавању и развио је јединствен приступ подучавању који је лако пратити и разумети. Његово стручно знање о Екцел-у помогло је хиљадама студената и професионалаца широм света да унапреде своје вештине и постану успешни у каријери. Кроз свој блог, Хју дели своје знање са светом, нудећи бесплатне Екцел туторијале и онлајн обуку како би помогли појединцима и предузећима да остваре свој пуни потенцијал.