Содржина
Една од најважните и најшироко користените функции што ги користиме во Visual Basic Application (VBA) е функцијата Find. Во оваа статија, ќе ви покажам како можете да ја користите функцијата FIND на Excel со соодветни примери и илустрации.
Преземете ја работната книга за вежбање
Најди функција во VBA во Excel.xlsm
6 брзи примери за користење на функцијата FIND во VBA
Тука имаме добив збир на податоци со Имиња на книги, автори и Цени на некои книги од книжарницата наречена Мартин книжарница.
Денес нашата цел е да видиме различни типови на употреба на функцијата Најди на VBA од овој сет на податоци.
1. Користете ја функцијата Најдете во VBA без параметар
Можете да ја користите функцијата Најди од VBA без параметри.
Потоа ќе бара одредена вредност во опсег од ќелии и ќе го врати првото совпаѓање што ќе го најде.
Ајде да го побараме името „Стр. Б. Шели“ во колоната Автор ( C4:C13 ).
Ринијата со функцијата Најди ќе биде:
Set cell = Range("C4:C17").Find("P. B. Shelly")
Целосниот VBA код ќе биде:
⧭ VBA код:
2488
⧭ Излез:
Се произведува Макро наречено Најди . Ако го активирате макрото, ќе се врати $C$6 , првата адреса на ќелијата со име P. B. Shelly .
Прочитајте повеќе: Најдете во опсег со VBA воExcel: Вклучувајќи точни и делумни совпаѓања
2. Применете ја функцијата Најди во VBA со параметарот По (за да започнете со пребарување од одредена ќелија)
Можете да го користите параметарот По со функцијата Најди во VBA . Потоа ќе започне да бара вредност од под ќелијата во опсег.
На пример, да започнеме да го бараме името „П. B. Shelly“ од долу на ќелијата C6 .
Линицата на кодот ќе биде:
Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))
И комплетниот VBA код ќе биде:
⧭ VBA код:
7654
⧭ Излез:
Ќе се врати $C$13 бидејќи почнува да бара од долу клетката C6 , тоа е од ќелијата C7 . Така добива P. B. Shelly во ќелијата C13 прво.
Прочитајте повеќе: Како да најдете стринг во Ќелија што користи VBA во Excel
3. Извршете ја функцијата Find во VBA со завиткување околу параметарот After (за да барате вредност на кружен начин)
Параметарот After со функцијата Find бара вредност на кружен начин
Тоа е, започнува со пребарување од под ќелија во опсегот, го завршува пребарувањето во опсегот и потоа повторно започнува од врвот на опсегот.
На пример, да започнеме да го пребаруваме името „Џон Китс“ од долу клетката C8 користејќи го параметарот По .
Линицата на кодот ќе биде:
Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))
И накомплетниот VBA код ќе биде:
⧭ VBA код:
8956
⧭ Излез:
Ќе врати $C$7 затоа што почнува да бара од долу клетката C8 , тоа е од ќелија C9 .
Не наоѓа ништо до ќелијата C13 , па повторно започнува од ќелијата C4 и наоѓа една во ќелијата C7 .
Слични читања:
- Како да пронајдете низа со VBA во Excel (8 примери)
- Најдете точно совпаѓање користејќи VBA во Excel (5 начини)
- Како да најдете и замените користејќи VBA (11 Начини)
4. Користете ја функцијата Find во VBA со параметарот 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 , бидејќи има книга со името „Ода“ во неа во ќелијата B7 , Ода на славејот.
Значи, целосниот код за делумното совпаѓањетое:
⧭ VBA код:
1903
5. Управувајте со функцијата Find во VBA со параметар SearchDirection (за да ја одредите насоката на пребарувањето)
Можете да ја користите и функцијата Најди во VBA со Параметар SearchDirection .
Користете SearchDirection = xlNext за пребарување од Врв до дното .
И SearchDirection = xlПретходно за пребарување од Долно кон горе .
На пример, да се обидеме да го најдеме авторот Елиф Шафак во колоната Автор ( 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 код:
8795
6. Најдете функција во VBA со параметар MatchCase (за совпаѓање со чувствителни големи букви или нечувствителни)
Конечно, можете да ја користите функцијата Најди со параметарот 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 код:
9741
Заклучок
Користејќи ги овие методи, можете да ја користите функцијата Find во апликацијата Visual Basic. Дали имате прашања? Слободно прашајте не.