Як використовувати ІНДЕКСНИЙ СПІВПАДІННЯ з Excel VBA

  • Поділитися Цим
Hugh West

Ви можете використовувати вбудовані функції робочого аркуша Excel, такі як Функція VLOOKUP "Про те, що в Україні не існує жодного закону, який би Функція вибору та Функція PMT у вашому VBA-коді та додатках. Насправді, більшість з них Excel функції робочого аркуша можна отримати і використовувати в VBA код Як використання Функції робочого аркуша INDEX & MATCH в VBA-коді Excel.

Чому ви хочете використовувати Excel Робочий аркуш функції у вашій VBA код Ну, щоб розширити функціональність коду, який ви використовуєте. Крім того, вам не потрібно придумувати власні функції, якщо тільки вам це не потрібно, якщо функціональність вже є. Все, що вам потрібно зробити, це отримати доступ до потрібної вам функції, оскільки вона вже є, і тоді немає необхідності винаходити велосипед.

Отже, почнемо з прикладу, що показує, як використовувати INDEX MATCH з Excel VBA.

Ми будемо використовувати ІНДЕКС і МАТЧ Функції в Excel VBA код За допомогою цієї форми користувач вибирає ім'я студента, а потім отримує і повертає відповідну стать цього студента та колір очей.

Завантажити Практичний посібник

Будь ласка, завантажте робочий зошит для самостійних практичних занять.

INDEX-MATCH.xlsx

9 простих кроків по використанню INDEX та MATCH у коді VBA

На сьогоднішній день, на жаль, це не так. ІНДЕКС і МАТЧ Функції часто використовуються в комбінації у формулах для виконання розширеного пошуку. Обидві функції в поєднанні дають певні переваги над ПЕРЕГЛЯД .

Ми вже детально висвітлювали, як користуватися ІНДЕКС і МАТЧ для виконання розширеного пошуку в Excel робочий зошит у вигляді прямої формули на аркуші, в попередній підручник Зараз ми подивимося, як використовувати ІНДЕКС і МАТЧ Функціонує разом у VBA код з метою надання аналогічної функціональності пошуковій системі UserForm які ми будемо створювати.

Крок 1: Застосування функцій INDEX та MATCH до набору даних

  • Ми починаємо з двох аркушів у нашій книзі з підтримкою макросів. Один з них - порожній аркуш, який називається UserForm , інший - аркуш під назвою Інформація для студентів яка містить діапазон, що показує імена студентів, їх відповідна стать та колір очей як показано нижче.

Давайте швиденько нагадаємо, чи хотіли ми скористатися ІНДЕКС і МАТЧ Функції в одній формулі, на реальному робочому аркуші, щоб дати нам стать імені учня, якого ми хочемо знайти. Ми б використовували наступну формулу:

=INDEX(B2:B31, MATCH("Діана Грем", A2:A31, 0))

  • При натисканні CTRL-ENTER ми отримаємо значення Females, що повертається, як стать, як показано нижче.

Крок 2: Змініть назву стовпця B на StudentNames

  • Зараз ми назвемо діапазон A2: A31 , Імена студентів як показано нижче.

  • Приховати Інформація для студентів аркуша, натиснувши правою кнопкою миші та вибравши Ховайся. Це гарна ідея, щоб поверхнево приховати внутрішні робочі аркуші, які містять інформацію, яку ви не хочете, щоб користувач редагував або бачив.

Крок 3: Відкрийте вікно Visual Basic

  • Тепер при активованому аркуші UserForm переходимо до Розробник> Код> Visual Basic з метою відкриття Редактор Visual Basic Editor (VBE) .
  • Опинившись в Інтерфейс VBE , переходимо в меню Вставка, UserForm, як показано нижче.

Крок 4: Зміна властивостей і додавання текстових полів

  • За допомогою Властивості Вікно ми перейменуємо нашу форму на StudentLookup , змініть Caption на Lookup Student Information, змініть значення параметра BackColor на світло-блакитний, а висоту встановіть на 300 px і шириною до 350 px. Якщо вікно властивостей не з'явилося, натисніть кнопку F4 клавішу на клавіатурі, щоб побачити його.

  • Тепер ми вставимо мітку, використовуючи Інструментарій (якщо ви не бачите Панель інструментів, з якихось причин перейдіть в меню Вид, Інструментарій ), змінюємо Caption на Choose a student, а ми змінимо Caption на BackColor у цьому випадку до білого кольору. Ми встановимо шрифт Грузія стиль шрифту до сміливий розмір шрифту до 12 , а також "Про захист прав людини і основоположних свобод центр вирівняти текст. Буде використано спеціальний ефект 1- fmСпецЕфектПідвищений як показано нижче.

  • Тепер вставимо комбіноване вікно під міткою. Назвемо це вікно cmdStudentName і для параметру RowSource , тип Імена студентів.

  • Для того, щоб побачити ефект від встановлення RowSource комбо-боксу, Натисніть Пробіг Sub/UserForm Кнопка .
  • Наразі через встановлення RowSource до іменованого діапазону, коли користувач натискає на стрілку, що випадає на UserForm, комбіноване вікно автоматично відображає прізвища студентів з іменованого діапазону, як показано нижче.

  • Закрийте Користувацьку форму, натиснувши на кнопку закриття. Натисніть Alt-F11 для того, щоб повернутися до VBE .
  • Повернувшись до VBE додайте ще одну мітку на UserForm (під комбінованим вікном) і змініть значення Підпис до Стать і ми змінимо BackColor у цьому випадку до білого кольору. Ми встановимо шрифт Грузія стиль шрифту до сміливий розмір шрифту до 12 , а також "Про захист прав людини і основоположних свобод центр вирівняти текст. Буде використано спеціальний ефект 1- fmСпецЕфектПідвищений як показано нижче.

  • Створити текстове поле під кнопкою Стать етикетка і назвіть його txtГендер .
  • Додати інший лейбл під назвою Око Колір і текстове поле з ім'ям txtКолір очей як показано нижче. Використання ті ж властивості для мітки, що і для двох інших міток, раніше доданих до форми, для того, щоб гарантувати, що UserForm має послідовний вигляд.

  • Зараз Виберіть всі елементи управління, додані до UserForm поки що за допомогою клавіші управління.

  • Центр по горизонталі, як показано нижче.

Читати далі: Як використовувати формулу ПІДІБРАТИ ІНДЕКС в Excel (9 прикладів)

Схожі читання

  • Співставлення індексів Excel, якщо комірка містить текст
  • Як використовувати формулу ІНДЕКС-ПОДІБНІСТЬ в Excel для отримання декількох результатів
  • Індексне збіг суми декількох рядків в Excel (3 способу)
  • Вивчаємо програмування макросів у Excel VBA (безкоштовний підручник - крок за кроком)
  • 22 Приклади макросів в Excel VBA

Крок 5: Додавання кнопки з панелі інструментів

  • Наступний, Додати кнопку на форму за допомогою кнопки Інструментарій . Зміна в "Урядовому кур'єрі". Ім'я та прізвище кнопки на cmdLookUp "Про те, що в Україні не існує жодного закону, який би BackColor до світло-оранжевого кольору, тримайте Тахома шрифт і зміна стиль до сміливий нарешті змінюватиметься на краще, нарешті змінюватиметься Підпис кнопки на Поглянь. вгору Студент Деталі як показано нижче.

Крок 6: Вставка коду VBA

  • Клацніть правою кнопкою миші , нещодавно додана кнопка та вибрати Вид Код .

  • Введіть наступний код для події натискання кнопки:

 Dim a As Variant Dim b As Variant Dim c As Variant a = cmdStudentName.Value Sheets("StudentInformation").Activate If a = "" Then b = "" Let txtGender.Text = b c = "" Let txtEyeColour.Text = c Else b = Application.WorksheetFunction.Index(Sheets("StudentInformation").Range("B2:B31"), Application.WorksheetFunction.Match(a, Sheets("StudentInformation").Range("A2:A31"), 0)) c =Функція робочого аркуша Application.Index(Sheets("StudentInformation").Range("C2:C31"), Функція робочого аркуша Application.WorksheetFunction.Match(a, Sheets("StudentInformation").Range("A2:A31"), 0)) Let txtEyeColour.Text = c End If 

Ми починаємо з того, що заявляємо три змінні і присвоєння цим оголошеним типам даних типу variant. Тип даних variant є гарним типом даних для початку. Тому що при роботі з робочий аркуш функції Тому на початку роботи використовуйте тип даних варіант, щоб бути впевненим у результатах.

Надалі доцільно використовувати один з інших більш специфічних типів даних, таких як ціле число або струна. Для більш просунутого довшого коду тип даних variant використовує пам'ять не так ефективно, як інші типи даних.

Змінна a взяти значення з опції, яку користувач обирає у випадаючому комбінованому вікні на кнопці UserForm Якщо виділення немає, то всі інші текстові поля порожній .

Якщо ви обираєте ім'я студента зі списку комбінований ящик на UserForm, то змінна b отримує значення за допомогою функції ІНДЕКС Робочий аркуш Функціонувати в поєднанні з МАТЧ Функція в VBA код, як показано на малюнку.

Вона шукає значення, використовуючи практично той самий синтаксис, що і функція робочого аркуша. При використанні функцій робочого аркуша в VBA "Про те, що в Україні не існує жодного закону, який би VBA IntelliSense в даному конкретному випадку не дуже інтуїтивний тому рекомендується знайомство з синтаксисом, отриманим на основі знань робочих аркушів. Змінна c виводить значення за допомогою ІНДЕКС Робочий аркуш Функція у поєднанні з МАТЧ Функція в VBA код, коли користувач вибирає опцію з комбінованого вікна.

Змінна b набуває цінності від стать колонка в робочому аркуші, тоді як змінна c отримує значення зі стовпчика Колір очей на робочому аркуші.

У текстовому полі "Стать" заповнюється b 's значення, а текстове поле кольору очей буде заповнене значенням c "цінність".

Читати далі: Події в Excel VBA (повний посібник)

Крок 7: Вставте командну кнопку

  • Тепер перейдіть на робочий аркуш з назвою UserForm у вашій робочій книжці. Формат це, як показано нижче, і вставка зображення, надане ExcelWIKI .

  • Перейдіть до Розробник> Елементи управління> Вставка> Елементів управління ActiveX.

  • Вставка кнопку, як показано на малюнку.

  • З вибраною кнопкою, перейти до Розробник; Елементи управління; Властивості .

  • Зміна в "Урядовому кур'єрі". Ім'я та прізвище кнопки на cmdShowForm та Підпис до Пошук Інформація для студентів .

Крок 8: Перегляд коду пошуку

  • Клацніть правою кнопкою миші кнопку і вибрати Переглянути код як показано нижче.

  • Введіть наступний код:
 Private Sub cmdShowForm_Click() StudentLookup.Show End Sub 

Крок 9: Виставлення кінцевого результату

  • Повернення до аркуш. Переконайтеся, що знята галочка Дизайн Режим .
  • Натисніть кнопку для того, щоб показати форму.

  • Виберіть ім'я студента за допомогою комбо-бокс Код автоматично поверне стать та колір очей студента.

Не забудьте заощаджувати ваш робочий зошит як робоча книга з підтримкою макросів Якщо ви цього ще не зробили і у вас це є, ми використовуємо Функції робочого аркуша ІНДЕКС &СПІВПАДАННЯ в VBA-коді Excel з метою створення пошукової форми.

Читати далі: Формула INDEX-MATCH в Excel для повернення декількох значень по горизонталі

Висновок

Excel має багато корисних функції робочого аркуша які можуть бути використані в VBA , як, як, використовуючи Функції робочого аркуша INDEX & MATCH в VBA-коді Excel. Ці функції дозволять вам розширити свій VBA код. Якщо ви вже знаєте, як вони працюють в стандарті Excel то крива навчання не така вже й велика, якщо адаптувати знання для VBA Доступ до функцій робочого аркуша, у своєму VBA код Тому що не потрібно розробляти кастомні функції для функціоналу, який вже є. Тому що не потрібно розробляти кастомні функції для функціоналу, який вже є.

Будь ласка, не соромтеся коментувати і повідомляйте нам, якщо ви використовуєте функції робочих аркушів у своєму коді VBA і додатках.

Оглядовий розділ: перевірте своє розуміння

1) Створіть простий список у колонці А з трьох елементів, а саме мандаринів, моркви та апельсинів, потім у комірці поруч з кожним елементом у колонці В перелічіть, чи є елементи у колонці А фруктами або овочами, після того, як ви завершите налаштування даних вибірки, скористайтеся кнопкою ІНДЕКС Я знаю, що це не так; МАТЧ комбіновану функцію, яка дозволяє визначити, чи є морква фруктом або овочем.

2) Використовуйте цей набір даних з ESPN про головних тренерів НФЛ та відповідні команди, які вони тренують. Створіть форму користувача, яка дозволяє користувачеві ввести ім'я певного тренера в текстове поле. Потім, коли користувач натискає кнопку "Відправити", в іншому текстовому полі з'являється команда, яку він тренує. ІНДЕКС Я знаю, що це не так; МАТЧ комбінація функцій робочого аркуша у вашому VBA-коді.

Г’ю Вест — досвідчений тренер і аналітик Excel із понад 10-річним досвідом роботи в галузі. Він має ступінь бакалавра з бухгалтерського обліку та фінансів і ступінь магістра з ділового адміністрування. Г’ю має пристрасть до викладання та розробив унікальний підхід до викладання, який легко зрозуміти та дотримуватися. Його експертне знання Excel допомогло тисячам студентів і професіоналів у всьому світі вдосконалити свої навички та досягти успіху в кар’єрі. У своєму блозі Г’ю ділиться своїми знаннями зі світом, пропонуючи безкоштовні навчальні посібники з Excel та онлайн-навчання, щоб допомогти окремим особам і компаніям повністю розкрити свій потенціал.