Excel VBA функция за намиране
Кой не знае FIND метода в excel? Сигурен съм, че всички знаят кой се занимава с работни листове за отлични резултати. НАМЕРЕТЕ или популярния клавиш за бърз достъп Ctrl + F ще намерите думата или съдържанието, което търсите в целия работен лист, както и в цялата работна книга. Когато казвате, че намерите означава, че намирате в клетки или диапазони, нали? Да, правилният метод за намиране е част от клетките или диапазоните в excel, както и във VBA.
По подобен начин във VBA Find имаме опция наречена FIND функция, която може да ни помогне да намерим стойността, която търсим. В тази статия ще ви преведа чрез методологията на намиране във VBA.
Формула за намиране на функция в Excel VBA
В обикновен работен лист на excel, ние просто въвеждаме клавиш за бърз достъп Ctrl + F, за да намерим съдържанието. Но във VBA трябва да напишем функция, за да намерим съдържанието, което търсим. Добре, нека да разгледаме синтаксиса FIND след това.
Знам какво се случва в ума ти, губиш се, като гледаш този синтаксис и не разбираш нищо. Но нищо не се притеснявайте, преди да ви обясня синтаксиса, нека ви запозная с обикновеното поле за търсене.
Ако наблюдавате какво има в обикновения Ctrl + F, всичко има и в синтаксиса VBA Find. Сега разгледайте за какво казва всяка дума в синтаксиса.
Какво: Просто това, което търсите. Тук трябва да споменем съдържанието, което търсим.
След: След коя клетка искате да търсите.
LookIn: Къде да търсите нещото, което търсите, например формули, ценности или коментари. Параметрите са xlFormulas, xlValues, xlComments.
LookAt: Независимо дали търсите цялото съдържание или само частта от него. Параметрите са xlWhole, xlPart.
SearchOrder: Търсите ли в редове или колони. xlByRows или xlByColumns.
SearchDirection: Гледате ли следващата или предишната клетка. xlNext, xlPrevious.
MatchCase: Съдържанието, което търсите, е чувствително към регистъра или не. Истина или лъжа.
MatchByte: Това е само за двубайтови езици. Истина или лъжа.
SearchFormat: Търсите ли чрез форматиране. Ако търсите формат, тогава трябва да използвате метода Application.FindFormat .
Това е обяснението на синтаксиса на метода VBA FIND. Освен първия параметър, всичко е по избор. В раздела с примери ще видим как да използваме този метод FIND при кодиране на VBA.
Как да използвате Excel VBA Find Function?
Ще научим как да използваме VBA Find Excel функция с няколко примера.
Можете да изтеглите този шаблон за VBA Find Excel тук - VBA Find Excel шаблонФункция за намиране на VBA - пример №1
Първо нека да ви обясня един прост пример за използване на свойството FIND и да намерите съдържанието, което търсим. Да предположим, че по-долу са данните, които имате във вашия лист за отлични резултати.
Стъпка 1: От това искам да намеря името Джон, нека отворим Visual basic и да започнем кодирането.
Код:
Sub Find_Ex1 () End Sub
Стъпка 2: Тук не можете да стартирате думата FIND, защото FIND е част от свойството RANGE. И така, първо трябва да споменем къде търсим, т.е. Range.
Стъпка 3: Затова първо споменете диапазона, където търсим. В нашия пример нашата гама е от B2 до B11.
Код:
Sub Find_Ex1 () Обхват ("B2: B11") Край Sub
Стъпка 4: След споменаването на диапазона поставете точка (.) И напишете FIND. Трябва да видите свойство FIND.
Стъпка 5: Изберете свойството FIND и отворете скобата.
Стъпка 6: Първият ни аргумент е това, което търсим. За да подчертаем аргумента, можем да предадем аргумента като това Какво: =, това би било полезно да идентифицираме кой параметър се отнасяме.
Код:
Sub Find_Ex1 () Обхват ("B2: B11"). Find (What: = "John") End Sub
Стъпка 7: Последната част е след като намерим думата какво искаме да направим. Трябва да изберем думата, така че да предадем аргумента като. Изберете .
Код:
Sub Find_Ex1 () Обхват ("B2: B11"). Find (What: = "John"). Изберете End Sub
Стъпка 8: След това стартирайте този код с помощта на клавиш F5 или ръчно, както е показано на фигурата, така че ще изберете първата намерена дума Джонсън, която съдържа дума, Джон.
Функция за намиране на VBA - пример №2
Сега ще ви покажа как да намерите думата за коментар чрез метода find. Имам данни и в три клетки имам коментар.
Тези клетки с червен флаг имат коментари в него. От този коментар искам да потърся думата „Няма комисия“.
Стъпка 1: Стартирайте кода със споменаване на диапазона („D2: D11“) и поставете точка (.) И напишете Find
Код:
Диапазон Sub Find_Ex2 () ("D2: D11"). Find (End Sub
Стъпка 2: В WHAT аргумента напишете думата „Няма комисия“.
Код:
Sub Find_Ex2 () Обхват ("D2: D11"). Find (Какво: = "Без комисионна", End Sub
Стъпка 3: Игнорирайте частта After и изберете частта LookIn. В частта на LookIn търсим тази дума в коментари, така че изберете xlComments и след това предайте аргумента като .Select
Код:
Sub Find_Ex2 () Обхват ("D2: D11"). Намерете (Какво: = "Без комисионна", LookIn: = xlComments) .Изберете край Sub
Стъпка 4: Сега стартирайте този код, използвайки клавиша F5 или ръчно, както е показано на фигурата, така че той ще избере клетката с коментар „Без комисионна“. В клетка D9 имаме споменат коментар.
Справете се със стойности на грешки в Excel VBA Find
Ако думата, която търсим, не намира в диапазона, който сме предоставили VBA код, който ще върне грешка като тази.
За да покажем на потребителя, че търсената от вас стойност не е налична, имаме нужда от кода по-долу.
Ако по-горе кодът намери стойност, тогава тя показва стойността и адреса на клетката или иначе ще покаже съобщението като „ Стойността, която търсите, не е налична в предоставения диапазон !!!“.
Неща, които трябва да запомните
- VBA FIND е част от свойството RANGE и трябва да използвате FIND, след като изберете само диапазона.
- В НАМЕРЕТЕ първият параметър е задължителен (Какво) освен всичко останало не е задължително.
- Ако намерите стойността след определена клетка, тогава можете да споменете клетката в параметъра After на синтаксиса Find.
Препоръчителни статии
Това е ръководство за функцията за намиране на VBA. Тук обсъдихме VBA Find и как да използвате Excel VBA Find Function, заедно с някои практически примери и изтеглящ се шаблон на excel. Можете да разгледате и другите ни предложени статии -
- НАМЕРЕТЕ Функцията в Excel
- VBA функция в Excel
- Ръководство за обхват в Excel
- Как да използвате VBA VLOOKUP функция?