Мазмұны
Біз Visual Basic қолданбасында (VBA) қолданатын ең маңызды және кеңінен қолданылатын функциялардың бірі - Find функциясы. Бұл мақалада мен сізге Excel бағдарламасының ТАБУ функциясын тиісті мысалдар мен иллюстрациялармен қалай пайдалануға болатынын көрсетемін.
Тәжірибе жұмыс кітабын жүктеп алыңыз
Excel.xlsm ішіндегі VBA-да табу функциясын табу
VBA-да FIND функциясын пайдаланудың 6 жылдам мысалдары
Міне, біз Martin Bookstore деп аталатын кітап дүкенінің кейбір кітаптарының Кітап атаулары, авторлары және бағалары бар деректер жиынтығын алды.
Бүгін біздің мақсатымыз осы деректер жинағынан VBA Табу функциясы пайдаланудың әртүрлі түрлерін көру.
1. Параметрі жоқ VBA жүйесінде табу функциясын пайдаланыңыз
Сіз VBA ішіндегі Табу функциясын параметрінсіз пайдалана аласыз.
Одан кейін ол ұяшықтар ауқымында белгілі бір мәнді іздейді және ол тапқан бірінші сәйкестікті қайтарады.
Атауын іздейік “P. B. Shelly” бағанында Автор ( C4:C13 ).
Табу функциясы бар жол келесідей болады:
Set cell = Range("C4:C17").Find("P. B. Shelly")
Толық VBA коды болады:
⧭ VBA коды:
1263
⧭ Шығару:
Ол шығарады Макро Табу деп аталады. Макросты іске қоссаңыз, ол $C$6 қайтарады, P аты бар бірінші ұяшық мекенжайы. B. Shelly .
Толығырақ оқу: VBA бар Ауқымнан табыңызExcel: Дәл және ішінара сәйкестіктерді қосқанда
2. VBA жүйесінде Find функциясын кейін параметрімен қолданыңыз (нақты ұяшықтан іздеуді бастау үшін)
Сіз Кейін параметрін Табу функциясымен пайдалана аласыз. VBA ішінде. Содан кейін ол ауқымдағы ұяшықтың астынан мәнді іздеуді бастайды.
Мысалы, «P. B. Shelly” төменгі ұяшықтан C6 .
Код жолы:
Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))
болады. Ал толық VBA коды болады:
⧭ VBA коды:
8961
⧭ Шығару:
Ол $C$13 қайтарады себебі ол C6 ұяшығының астынан іздеуді бастайды, бұл C7 ұяшығынан. Сондықтан P болады. B. Алдымен C13 ұяшығында Шелли .
Толығырақ: Жолды қалай табуға болады Excel бағдарламасында VBA пайдаланатын ұяшық
3. VBA жүйесінде Find функциясын кейін параметрді айналдыра отырып іске қосыңыз (мәнді дөңгелек жолмен іздеу үшін)
Кейін параметрі Табу функциясымен мәнді айналмалы түрде іздейді
Яғни, ол іздеуді ауқымдағы ұяшықтан төменнен бастайды, ауқымда іздеуді аяқтайды, содан кейін қайтадан ауқымның жоғарғы жағынан басталады.
Мысалы, After параметрін пайдаланып C8 ұяшығының астынан “Джон Китс” атын іздеуді бастайық.
Жолы коды болады:
Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))
Жәнетолық VBA коды болады:
⧭ VBA коды:
7453
⧭ Нәтиже:
Ол $C$7 қайтарады, себебі ол C8 ұяшығының астынан іздеуді бастайды, яғни C9 ұяшығы.
Ол C13 ұяшығына дейін ештеңе таппайды, сондықтан ол қайтадан C4 ұяшығынан басталады және ұяшықтан біреуін табады C7 .
Ұқсас оқулар:
- VBA көмегімен жолды қалай табуға болады Excel бағдарламасында (8 мысал)
- Excel бағдарламасында VBA көмегімен дәл сәйкестікті табу (5 жол)
- VBA көмегімен табу және ауыстыру (11) жолдары)
4. VBA ішіндегі Find функциясын LookAt параметрімен пайдаланыңыз (дәл немесе ішінара сәйкестік үшін)
Сіз VBA ішіндегі Табу функциясын мен бірге пайдалана аласыз>LookAt параметрі.
Нақты сәйкестік үшін LookAt = xlWhole және Ішінара үшін LookAt=xlPart пайдаланыңыз. сәйкес.
Мысалы, Кітап атауы бағанында “Ода” деген кітап бар-жоғын анықтауға тырысайық ( B4:B13 ).
Егер код жолында xlWhole қолдансақ:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)
Шығару қатені көрсетеді, себебі ол ешқандай нақты сәйкестікті таба алмайды.
Бірақ пайдалансаңыз:
Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)
Содан кейін ол $B$9 қайтарады, себебі ұяшығында “Ode” атты кітап бар. B7 , Бұлбұлға ода.
Сонымен жартылай сәйкестікке арналған толық кодбұл:
⧭ VBA коды:
4136
5. SearchDirection параметрімен VBA жүйесінде табу функциясын басқарыңыз (Іздеу бағытын анықтау үшін)
Сонымен қатар VBA ішіндегі Табу функциясын пайдалана аласыз. SearchDirection параметрі.
Жоғарыдан төменге іздеу үшін SearchDirection = xlNext пайдаланыңыз.
Және SearchDirection = xlPrevious Төменнен жоғарыға іздеуге арналған.
Мысалы, Автор бағанынан Авторды Элиф Шафак табуға тырысайық. ( C4:C13 ).
Егер код жолында xlNext қолдансақ:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)
Одан кейін ол $C$5 қайтарады.
Бірақ пайдалансаңыз:
Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)
Содан кейін ол $C$11 қайтарады.
Сонымен төменнен жоғарыға қарай іздеуге арналған толық код бұл:
⧭ VBA коды:
9833
6. MatchCase параметрі бар VBA функциясын табу (регистрді ескеретін немесе сезілмейтін сәйкестік үшін)
Соңында, Find функциясын MatchCase параметрімен пайдалануға болады.
әріптерді ескеретін сәйкестік , үшін MatchCase = True және үшін MatchCase=False пайдаланыңыз. регистрді ескермейтін сәйкестік.
Мысалы, Кітап аты бағанынан “ана” кітабын табуға тырысайық ( B4:B13 ).
Егер код жолында True қолдансақ:
Set cell = Range("B4:B13").Find("mother", MatchCase:=True)
Шығыс қатені көрсетеді, себебі ол жеңеді' ешқайсысын таппайдысәйкес келеді.
Бірақ пайдалансаңыз:
Set cell = Range("B4:B13").Find("mother", MatchCase:=False)
Одан кейін ол қайтарады $ B$9 , себебі B8 ұяшығында “Ана” атты кітап бар.
Сонымен толық код регистрді ескермейтін сәйкестік:
⧭ VBA коды:
9569
Қорытынды
Осы әдістерді қолдана отырып, Visual Basic қолданбасында Find функциясын пайдалануға болады. Сұрақтарыңыз бар ма? Бізден сұраңыз.