Excel VBA за съпоставяне на стойност в диапазон (3 примера)

  • Споделя Това
Hugh West

Докато работите с Microsoft Excel , понякога трябва да намерим съвпадащата стойност в даден диапазон. лесно можем да направим това с функциите на Excel. във VBA има функции, които можем да използваме, но нито една от тях не е равна на MATCH В тази статия ще научим как да съпоставяме стойност в диапазон с Excel VBA .

Изтегляне на работна тетрадка за практика

Можете да изтеглите работната тетрадка и да се упражнявате с тях.

VBA Съвпадение на стойност в Range.xlsm

Въведение в Excel VBA Функция за съвпадение

Сайтът Функция за съвпадение в Excel VBA е полезна функция за търсене, която, подобно на VLOOKUP , HLOOKUP , и INDEX функции, връща мястото на идентично или сравнимо съвпадение на стойностите за търсене, получени в масиви или база данни. Тази функция е функция на работен лист, която програмата използва. Тъй като е функция на работен лист, параметрите на функцията Match са подобни на тези на функцията на работен лист.

3 примера за Excel VBA за съпоставяне на стойност в диапазон

1. Съвпадение на стойност в диапазон с функцията за съвпадение VBA в Excel

За да използвате функцията Excel VBA Match , за намиране на съвпадащата стойност в даден диапазон ще използваме следния набор от данни. Наборът от данни съдържа имената на някои ученици в колона C , оценките си по определен предмет в колона D и поредния номер на всеки ученик в колона B Сега, да предположим, че искаме да намерим позицията на съвпадение в клетката G5 на определен знак, а знакът, който искаме да съпоставим, е в клетка F5 .

Нека демонстрираме процедурата за намиране на съвпадащи стойности в диапазон с помощта на функцията Match на Excel VBA .

СТЪПКИ:

  • Първо, отидете в Разработчик от лентата.
  • Второ, щракнете върху Visual Basic за да отворите Редактор на Visual Basic , където записваме кода. Или натиснете Alt + 11 за да отворите Редактор на Visual Basic .

  • Друг начин за отваряне Редактор на Visual Basic е просто да щракване с десния бутон на мишката върху в работния лист и щракнете върху Вижте кода .

  • Това ще отвори Редактор на Visual Basic . Сега напишете кода там.

Код VBA:

 Sub example1_match() Range("G5").Value = WorksheetFunction.Match(Range("F5").Value, Range("D5:D10"), 0) End Sub 
  • След това, за да стартирате кода, натиснете бутона F5 на клавиатурата или щракнете върху Rub Sub бутон.

  • Накрая можете да видите, че съвпадението е намерено в позиция 5 .

🔎 Как работи кодът VBA?

  • Sub example1_match() : Това означава, че дефинираме подпроцедура, като даваме името на макроса.
  • Range("G5").Value : Искаме изходът да се съхранява в клетка G5 .
  • Работен листФункция : С помощта на този код ще можем да получим достъп до функциите на VBA.
  • Съвпадение (Range("F5").Value, Range("D5:D10"), 0) : Тук използваме функцията Match във VBA. Тъй като искаме да вземем стойността от клетката F5 и открийте позицията в диапазона D5:D10 .
  • Край на Sub : Това означава, че приключваме процедурата.

Прочетете още: Excel VBA за съвпадение на низ в колона (5 примера)

2. Използвайте Excel VBA, за да съпоставите стойност от друг работен лист

Можем да намерим съвпадащи стойности в обхвата от друг работен лист, като използваме функцията VBA Match в Excel . Предполагаме, че имаме набор от данни в лист с име " Данни " и искаме резултата в името на листа " Резултат ". И ние използваме същата съвкупност от данни. Сега нека следваме стъпките, за да направим това.

СТЪПКИ:

  • В началото, по същия начин, както в предишния пример, отидете в Разработчик в лентата.
  • След това щракнете върху Visual Basic или натиснете Alt + F11 за да отворите Редактор на Visual Basic .
  • Вместо това, за да отворите Редактор на Visual Basic , просто щракнете с десния бутон на мишката върху листа и изберете Вижте кода .

  • Сега запишете кода VBA.

Код VBA:

 Sub example2_match() Sheets("Result").Range("C5").Value = WorksheetFunction.Match(Sheets("Result").Range("C5").Value, Sheets("Data").Range("D5:D10"), 0) End Sub 
  • След това стартирайте кода, като натиснете бутона F5 или натискане на клавиша Изпълнявайте функцията Run Sub бутон.

  • Резултатът се намира в " Резултат " лист.

Прочетете още: Как да съпоставяте данни в Excel от 2 работни листа

Подобни четива

  • Сумиране на всички съвпадения с VLOOKUP в Excel (3 лесни начина)
  • Как да открием чувствително към случая съвпадение в Excel ( 6 формули)
  • Как да сравняваме имена в Excel при различно изписване (8 метода)

3. Цикли на Excel VBA за получаване на съответстваща стойност в обхвата

Да предположим, че искаме няколко маркировки да съвпадат със стойността, за което ще използваме циклите на VBA. Използваме същото множество от данни, както преди. Сега искаме позицията на съвпадение в колоната G , а знаците, по които искаме да намерим съвпадение, са в колона F . Нека видим стъпалата надолу.

СТЪПКИ:

  • Първо, от лентата отидете в Разработчик таб.
  • Второ, за да отворите Редактор на Visual Basic , кликнете върху Visual Basic или натиснете Alt + F11 .
  • Или просто щракнете с десния бутон на мишката върху листа и изберете Вижте кода .

  • Това ще отвори Редактор на Visual Basic .
  • Въведете кода там.

Код VBA:

 Sub example3_match() Dim i As Integer For i = 5 To 8 Cells(i, 7).Value = WorksheetFunction.Match(Cells(i, 6).Value, Range("D5:D10"), 0) Next i End Sub 
  • След това натиснете бутона F5 или натискане на клавиша Изпълнявайте функцията Run Sub ще стартирате кода.

  • И ще можете да видите резултата в колона G .

🔎 Как работи кодът VBA?

  • За i = 5 до 8 : Това означава, че искаме цикълът да започне от ред 5 и завършва с ред 8 .
  • Cells(i, 7).Value : Това запазва стойността на резултантните места във всеки ред от 5 към 8 редове в колоната G което е номерът на колоната 7 .
  • Съвпадение(Cells(i, 6).Value, Range("D5:D10"), 0) : Клетките могат да бъдат сравнявани с помощта на Мач функция (i, 6). Търсене на стойности за всяка стойност на търсачката, намерена в редовете 5 чрез 8 на 6. колона. След това се търси в масив D5:D10 в лист на Excel, където има налични данни.

Прочетете още: Намиране на съвпадащи стойности в две колони в Excel

Неща, които трябва да имате предвид

  • Ако типът на съвпадение липсва или не е посочен, се приема, че той е 1 .
  • Ако не бъде открито съвпадение, свързаното поле на Excel ще бъде празно.
  • Стойността за търсене може да бъде цифрова, символна или логическа информация или препратка към клетка за количество, текст или логическо значение.

Заключение

Горните методи ще ви помогнат да съпоставяте стойности в диапазон в Excel VBA. Надявам се, че това ще ви помогне! Ако имате някакви въпроси, предложения или обратна връзка, моля, уведомете ни в раздела за коментари. Или можете да разгледате други наши статии в ExcelWIKI.com блог!

Хю Уест е опитен обучител и анализатор на Excel с над 10 години опит в индустрията. Има бакалавърска степен по счетоводство и финанси и магистърска степен по бизнес администрация. Хю има страст към преподаването и е разработил уникален подход на преподаване, който е лесен за следване и разбиране. Неговите експертни познания по Excel са помогнали на хиляди студенти и професионалисти по целия свят да подобрят уменията си и да постигнат отлични резултати в кариерата си. Чрез своя блог Хю споделя знанията си със света, като предлага безплатни уроци за Excel и онлайн обучение, за да помогне на хората и фирмите да достигнат пълния си потенциал.