Съдържание
Докато работите с 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 блог!