Мазмұны
Егер сіз VBA көмегімен дәл сәйкестікті табудың ең оңай жолдарын іздесеңіз, онда бұл мақала сізге пайдалы болады. Сонымен, мақаланы бастайық және дәл сәйкестікті табу тәсілдерін білейік.
Жұмыс кітабын жүктеп алу
VBA Find Exact Match.xlsm
VBA көмегімен дәл сәйкестікті табудың 5 жолы
Мен кейбір студенттердің нәтижелерінің жазбалары бар келесі кестені қолдандым. Мен VBA көмегімен осы кестені пайдалана отырып, дәл сәйкестікті табудың әртүрлі жолдарын түсіндіремін.
Осы мақсатта мен Microsoft Excel 365 нұсқасын қолдандым, сіз кез келген басқа нұсқаларды пайдалана аласыз. сізге ыңғайлы.
1-әдіс: Ұяшықтар ауқымында дәл сәйкестікті табу
Егер жолдың дәл сәйкестігін тапқыңыз келсе оқушының атын, содан кейін осы оқушының ұяшық орнын табыңыз, содан кейін осы әдісті орындау арқылы мұны істеуге болады.
Мұнда мен дәл сәйкестікті табамын. “Joseph Micahel” атты студент.
01-қадам :
➤ Әзірлеуші Tab>>> Visual Basic Опция
Содан кейін Visual Basic өңдегіші ашылады.
➤ <бетіне өтіңіз. 1>Insert Tab>> Модуль Опция
Осыдан кейін Модуль жасалады.
02-қадам :
➤Келесі кодты жазыңыз
2336
Мұнда «дәл сәйкестік» парақ атауы және “B5:B10” бұлстуденттердің аттары ауқымы, және “Джозеф Майкл” – анықталатын студенттің аты.
rng ауқым объектісі ретінде жарияланады және str ізделген элементтің мекенжайын сақтау үшін жол айнымалысы ретінде.
IF мәлімдеме элемент мекенжайын str айнымалысына тағайындайды.
➤ F5
Нәтиже пернесін басыңыз:
Осыдан кейін сіз мынаны аласыз келесі Хабар өрісі “Джозеф Майкл” атты студенттің ұяшық орны бар.
Толығырақ: Excel бағдарламасында VBA көмегімен ауқымда табу: дәл және ішінара сәйкестіктерді қоса
2-әдіс: дәл сәйкестікті табу және оны VBA көмегімен ауыстыру
Мен көрсетемін Көрсетілген студенттің атын тауып, содан кейін оны басқа атпен ауыстыру әдісі, себебі бұл жерде бұл атау қате жазылған. Осы әдісті орындау арқылы қажетті жолды тауып, оны ауыстыруға болады .
01-қадам :
➤ 1-әдіс
8363
01-қадам қадамын орындаңыз
8363
Мұнда, “табу және ауыстыру” парақ атауы және “B5:B10” студенттер есімдерінің ауқымы, ал “Дональд Пол” – анықталатын студенттің аты, содан кейін “Генри Джексон” алдыңғысының орнына студенттің аты болыңыз.
WITH мәлімдеме әрбір мәлімдемеде код бөлігінің қайталануын болдырмайды.
IF мәлімдеме тағайындайдыэлементтің мекенжайы str айнымалыға және DO цикл іздеу сөзінің барлық қайталануларын ауыстырады.
➤<1 пернесін басыңыз>F5
Нәтиже :
Осыдан кейін сіз жаңа студенттің атын “Генри Джексон” ретінде аласыз.
3-әдіс: Нақты және регистрді ескеретін сәйкестікті табу
Егер сіз регистрге сезімтал сәйкестікті тапқыңыз келсе, осы әдісті орындаңыз. Мұнда менде бір-біріне ұқсас екі есім бар, бірақ регистрде айырмашылық бар және жағдайға байланысты соңғы студенттің атын ауыстырамын.
Қадам. -01 :
➤ Әдіс-1
5652
Мынадағы 01-қадам қадамын орындаңыз, “регистрді ескереді” парақ атауы және “B5:B10” оқушылардың есімдерінің ауқымы, ал “Дональд Пол” – анықталатын студенттің аты, және онда «Генри Джексон» алдыңғы атының орнына студенттің аты болады.
WITH мәлімдеме әрбір мәлімдемеде код бөлігінің қайталануын болдырмайды.
IF мәлімдемесі элемент мекенжайын str айнымалысына тағайындайды және DO цикл іздеу сөзінің барлық қайталануларын ауыстырады.
➤ F5
Нәтиже пернесін басыңыз:
Енді жағдайға сәйкес, студенттің аты “Генри Джексон” болып өзгертіледі.
Ұқсас оқулар:
- Excel бағдарламасында VBA көмегімен ұяшықтағы жолды қалай табуға болады (2 әдіс)
- VBAExcel бағдарламасында бағанды табу (7 тәсіл)
- Excel бағдарламасында VBA көмегімен жолды қалай табуға болады (8 мысал)
4-әдіс: пайдалану InStr функциясы
Мейлі, Нәтиже бағанына байланысты Өту немесе Сәйкес келмеу студенттер атына сәйкес келгіңіз келеді делік 12>Өту немесе Өтпейді деп жазылды. Нәтиже бағанында осы жолды тауып, емтихан тапсырған студенттер үшін «Өтті» Күй бағанында деп жазу үшін <1-ді пайдалануға болады>InStr функциясы .
01-қадам :
➤ 01-қадам орындаңыз Әдіс-1
3417
Мұнда ұяшық ауқымы C5:C10 , ол Нәтиже бағаны
InStr(ұяшық. мәні, "Өту") > 0 бұл сан нөлден үлкен болатын шарт (ұяшықта “Өту” болған кезде) содан кейін келесі жол жалғасады және көрші ұяшықта Өтті<2 ретінде нәтиже береді>.
Егер шарт өтірік болса, ұяшықта ешқандай “Өту” жоқ дегенді білдіреді, онда ALSE астындағы жол орындалады және келесіде шығыс мәнін береді. көрші ұяшықты Бос ретінде.
Бұл цикл әрбір ұяшық үшін жалғасады.
➤ F5 <пернесін басыңыз. 3>
Нәтиже :
Содан кейін сіз өткен студенттер үшін «Өтті» мәртебесін аласыз.
5-әдіс: Дәл сәйкестікті табу және деректерді шығару
Егер сіз “Майкл Джеймс” атты студент үшін сәйкес деректер, онда сіз осы әдісті қолдана аласыз.
01-қадам :
➤ Әдіс-1
4977
01-қадам қадамын орындаңыз. Мұнда мен B100 Белсенді ретінде қолдандым. Sheet Range (пайдалануыңызға қарай кез келген ауқымды пайдалануға болады).
InStr(1, диапазон(“B” & i), “Майкл Джеймс”) > 0 - B бағанындағы ұяшықта Майкл Джеймс бар-жоғын тексеру шарты.
Ауқым («E ” & icount & “:G” & icount) шығыс деректері қажет ауқым және Ауқым(“B” & i & “:D” & i) мәні. B бағанынан D дейінгі мәндерді береді.
➤ F5 пернесін басыңыз
Нәтиже :
Одан кейін сіз Майкл Джеймс аты бар студенттер үшін келесі шығарылған деректерді аласыз.
Жаттығу бөлімі
Жаттығуды өз бетіңізше орындау үшін біз төменде Тәжірибе деп аталатын парақта Тәжірибе бөлімін ұсындық. . Мұны өзіңіз жасаңыз.
Қорытынды
Бұл мақалада мен VBA<көмегімен дәл сәйкестікті табудың ең оңай жолдарын қарастыруға тырыстым. 2> Excel бағдарламасында тиімді. Сізге пайдалы болады деп үміттенемін. Ұсыныстарыңыз немесе сұрақтарыңыз болса, бізбен бөлісіңіз.