Како да се користи INDEX MATCH со Excel VBA

  • Споделете Го Ова
Hugh West

Можете да ги користите вградените функции на Excel како што се функцијата VLOOKUP , функцијата ИЗБЕРЕТЕ и PMT функцијата во вашиот VBA код и апликации исто така. Всушност, повеќето од функциите на Excel на работниот лист може да се пристапат и да се користат во VBA кодот . Како употреба INDEX & засилувач; MATCH Worksheet Functions во Excel VBA кодот.

Зошто сакате да ги користите функциите Excel Работен лист во вашиот VBA код ? Па да се прошири функционалноста на кодот што го користите. Исто така, не мора да смислувате свои функции, освен ако навистина ви треба, ако функционалноста е веќе таму. Сè што во основа треба да направите е да пристапите до функцијата што ви треба бидејќи таа е веќе таму и тогаш нема потреба повторно да го измислите тркалото.

Значи, ајде да започнеме со пример што покажува како да се користи INDEX  MATCH со Excel VBA.

Ќе ги користиме функциите INDEX и MATCH 2> во Excel VBA код , со цел да се создаде едноставен UserForm. Користејќи го формуларот, корисникот избира име на ученикот, а потоа соодветниот пол на споменатиот ученик и бојата на очите се враќа и се враќа.

Преземете ја работната книга за вежбање

Ве молиме преземете ја работната книга за вежбање на вежбајте сами.

INDEX-MATCH.xlsx

9 лесни чекори за користење INDEX и MATCH во рамките на VBA кодот

The ИНДЕКС и СОПРЕВАРУВАЊЕ Функциите често се користат во комбинација во формули, со цел да се извршат напредни пребарувања. Двете во комбинација нудат одредени предности во однос на VLOOKUP .

Веќе опфативме детално како да ги користиме INDEX и MATCH за да извршиме напредни бара во Excel работна книга како формула за директно работен лист, во претходно упатство . Сега ќе видиме како да ги користиме функциите INDEX и MATCH заедно во VBA кодот , со цел да се додели слична функционалност на изгледот нагоре UserForm што ќе го создадеме.

Чекор 1: Примени ги функциите INDEX и MATCH во Dataset

  • Почнуваме со два листа во нашето макро -овозможена работна книга. Едниот е празен лист наречен UserForm , другиот е лист наречен StudentInformation , кој содржи опсег што ги прикажува имињата на учениците, нивниот соодветен пол и бојата на очите како прикажано подолу.

Ајде брзо да се потсетиме дали сакаме да го користиме INDEX и MATCH Функции во една формула, во вистинскиот работен лист за да ни го дадат родот на името на ученикот што сакаме да го побараме. Ние би ја користеле следната формула:

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

  • По притискање на CTRL-ENTER , ја добиваме вратената вредност на Females, како пол како што е прикажано подолу.

Чекор 2: Променете го името на колоната B во StudentNames

  • Сега ќе го именуваме опсегот A2: A31 , Student Names како што е прикажано подолу.

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

Чекор 3: Отворете го прозорецот на Visual Basic

  • Сега кога е активиран листот UserForm, одиме на Програмер > Код > Visual Basic за да се отвори Visual Basic Editor (VBE) .
  • Откако во VBE интерфејсот , одиме во Insert, UserForm како што е прикажано подолу .

Чекор 4: Променете ги својствата и додајте полиња со текст

  • Користење на прозорецот Својства , ќе ја преименуваме нашата форма во StudentLookup , ќе го смениме насловот во Барај информации за студентот, ќе ја смениме BackColor во светло сина и ќе ја поставиме висината на 300 px и ширината до 350 px. Ако прозорецот со својства не се прикажува, притиснете го копчето F4 на тастатурата за да го видите.

  • Ние сега ќе вметне етикета со помош на Кутијата со алатки (ако не можете да ја видите Алатката, поради некоја причина одете во Прикажи, Кутијата со алатки ), променете го насловот во Избери студент и ние ќе го промениме BackColor до бело во овој случај. Ќе го поставиме фонтот на Georgia , стилот на фонтот на задебелен , големината на фонтот на 12 , и центарот го порамнува текстот. Специјалниот ефект што се користи ќе биде 1– fmSpecialEffectRaised како што е прикажано подолу.

  • Сега ќе вметнеме комбо поле под етикета. Именувајте ја оваа комбинирана кутија cmdStudentName и за Редовата извор , напишете StudentNames.

  • За да видите ефектот од поставувањето на RowSource на комбо полето, Кликнете на копчето Run Sub/UserForm .
  • Сега поради поставувањето на RowSource до именуваниот опсег, кога корисникот ќе кликне на паѓачката стрелка на UserForm, комбинираното поле ги прикажува имињата на учениците од именуваниот опсег, автоматски како што е прикажано подолу.

  • Затворете го UserForm со кликнување на копчето за затворање. Притиснете Alt-F11 за да се вратите на VBE .
  • Откако ќе се вратите во VBE , додајте друга етикета во UserForm ( под комбинираното поле) и сменете го Наслов во Род и ќе го промениме BackColor во бело во овој случај. Ќе го поставиме фонтот на Georgia , стилот на фонтот на задебелен , големината на фонтот на 12 и центарот ќе го усогласиме текстот . Специјалниот ефект што се користи ќе биде 1– fmSpecialEffectRaised како што е прикажано подолу.

  • Креирај текстуално поле под ознаката Род и именувајте ја txtРод .
  • Додајте друга ознака наречена Око Боја и именувано поле за текст txtEyeColour како што е прикажано подолу. Користете ги истите својства за етикетата како и за двете други етикети претходно додадени во формуларот, со цел да се осигурате дека UserForm има конзистентен изглед.

  • Сега Изберете ги сите контроли, додадени во UserForm , досега користејќи го контролниот клуч.

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

Прочитајте Повеќе: Како да се користи формулата INDEX MATCH во Excel (9 примери)

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

  • Excel INDEX MATCH Ако ќелијата содржи текст
  • Како да се користи формулата INDEX-MATCH во Excel за да се генерираат повеќе резултати
  • Индексот се совпаѓа со збир на повеќе редови во Excel (3 начини)
  • Научете Excel VBA програмирање & засилувач; Макроа (бесплатно упатство – чекор по чекор)
  • 22 макро примери во Excel VBA

Чекор 5: Додајте копче од Алатникот

  • Следно, Додајте копче во формуларот користејќи ја Алатичката . Променете го Име на копчето во cmdLookUp , BackColor во светло портокалова, задржете го фонтот Tahoma и променете го стилот во задебелен , конечно сменете го Насловот на копчето во Погледни горе Студен Детали како што е прикажано подолу.

Чекор 6: Вметнете VBA код

  • Десен-клик , новододаденото копче и избери Прикажи Код .

  • Внесете го следниот код за копчето кликнете настан:

3164

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

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

Променлива a извлечете ја вредноста од опцијата што корисникот ја избира во паѓачкото комбинирано поле на Корисничка форма . Ако нема избор, тогаш сите други полиња за текст се празни .

Ако изберете име на ученик од комбо кутија на UserForm, потоа променливата b црта вредност со користење на функцијата INDEX Работен лист во комбинација со MATCH Function во кодот VBA , како што е прикажано.

Ја бара вредноста користејќи во основа истата синтакса како функцијата на работниот лист. Кога се користат функциите на работниот лист во VBA , VBA IntelliSense во овој конкретен случај не е многу интуитивен , затоа познавање насе препорачува синтаксата собрана од знаењето на работниот лист. Променлива c извлекува вредност со користење на INDEX Работен лист Функција во комбинација со MATCH функција во кодот VBA кога корисникот избира опција од комбинираното поле.

Променлива b достигнува вредност од родот колона во работниот лист, додека променливата c добива вредност од колоната „Боја на очите“ во работниот лист.

Полето за текст за родот е пополнето со b 's вредноста и текстуалното поле за боја на очите е пополнето со вредноста на c .

Прочитајте повеќе: Excel VBA Настани (целосно упатство)

Чекор 7: Вметнете командно копче

  • Сега одете на работниот лист наречен UserForm во вашата работна книга. Форматирајте ја , како што е прикажано подолу, и внесете сликата обезбедена од ExcelWIKI .

  • Одете до Програмер > Контроли > Вметни > ActiveX Controls.

  • Вметнете копче како што е прикажано.

  • Со избраното копче, одете на Програмер > Контроли > Својства .

  • Променете го Име на копчето во cmdShowForm и Наслов до Пребарување Информации за студентите .

Чекор 8: Прикажи Пребарајте го кодот

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

  • Внесете ја следнава шифра:
3107

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

  • Вратете се на работниот лист. Проверете дали е отштиклиран Дизајн Режим .
  • Кликнете на копчето за да се прикаже формата.

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

Не заборавајте да ја зачувате вашата работна книга како работна книга овозможена со макро , ако веќе не сте го направиле тоа и таму го имате, користиме INDEX & MATCH Работен лист функционира во Excel VBA код за да се создаде формулар за пребарување.

Прочитајте повеќе: Excel INDEX-MATCH Формула за враќање на повеќе вредности хоризонтално

Заклучок

Excel има многу корисни функции на работниот лист , кои може да се користат во VBA , како на пример, користејќи INDEX & MATCH Worksheet Functions во Excel VBA код. Овие функции ќе ви овозможат да го проширите вашиот VBA код. Ако веќе знаете како тие функционираат во стандарден Excel работен лист тогаш кривата на учење не е толку голема со прилагодување на знаењето за VBA . Пристапувањето до функциите на работниот лист, во нечиј VBA код може да биде вистинско заштеда на време. Затоа што не мора да се развиваат сопствени функции за функционалноста што е веќе таму.

Ве молиме слободно коментирајте и кажетенас ако користите функции на работниот лист во вашиот VBA код и апликации.

Дел за преглед: Тестирајте го вашето разбирање

1) Поставете едноставна листа во колоната А од три ставки, имено мандарини, моркови и портокали , потоа во ќелијата до секоја ставка во колоната Б, наведете дали ставките во колоната А се овошје или зеленчук, откако ќе завршите со поставувањето на податоците од примерокот, користете го INDEX & Комбинирана функција MATCH за да се испорача дали морковите се овошје или зеленчук.

2) Користете го овој сет на податоци од ESPN за главните тренери на НФЛ и соодветниот тим што го тренираат. Направете корисничка форма која му овозможува на корисникот да го внесе името на одреден тренер во полето за текст. Потоа, тимот што го тренира нека биде испорачан во друго поле за текст кога корисникот ќе кликне на „Поднеси“. Користете INDEX & MATCH комбинација на функции на работниот лист во вашиот VBA код.

Хју Вест е високо искусен тренер и аналитичар на Excel со повеќе од 10 години искуство во индустријата. Има диплома за сметководство и финансии и магистер по бизнис администрација. Хју има страст за предавање и има развиено уникатен пристап на наставата кој е лесен за следење и разбирање. Неговото стручно познавање на Excel им помогна на илјадници студенти и професионалци ширум светот да ги подобрат своите вештини и да се истакнат во нивните кариери. Преку својот блог, Хју го споделува своето знаење со светот, нудејќи бесплатни упатства за Excel и онлајн обука за да им помогне на поединците и бизнисите да го достигнат својот целосен потенцијал.