Funkcja Excel VBA Find
Kto nie zna metody ZNAJDŹ w programie Excel? Jestem pewien, że wszyscy wiedzą, kto ma do czynienia z arkuszami Excela. ZNAJDŹ lub popularny skrót klawiszowy Ctrl + F znajdzie szukane słowo lub treść w całym arkuszu, a także w całym skoroszycie. Kiedy mówisz, że znajdź oznacza, że znajdujesz się w komórkach lub zakresach, prawda? Tak, poprawna metoda znajdowania jest częścią komórek lub zakresów w programie Excel, jak również w VBA.
Podobnie w VBA Find mamy opcję o nazwie ZNAJDŹ, która może pomóc nam znaleźć szukaną wartość. W tym artykule przeprowadzę cię przez metodologię FIND w VBA.
Formuła znajdowania funkcji w programie Excel VBA
W zwykłym arkuszu programu Excel po prostu wpisujemy klawisz skrótu Ctrl + F, aby znaleźć zawartość. Ale w VBA musimy napisać funkcję, aby znaleźć poszukiwaną treść. Ok, spójrzmy więc na składnię FIND.
Wiem, co się dzieje w twoim umyśle, zagubiłeś się patrząc na tę składnię i nic nie rozumiesz. Ale nie martw się, zanim wyjaśnię ci składnię, pozwól, że przedstawię ci zwykłe pole wyszukiwania.
Jeśli zauważysz, co jest w zwykłym Ctrl + F, wszystko jest tam również w składni VBA Find. Teraz spójrz na to, o czym mówi każde słowo w składni.
Co: Po prostu to, czego szukasz. Tutaj musimy wspomnieć o treści, której szukamy.
Po: Po której komórce chcesz wyszukać.
LookIn: Gdzie szukać szukanej rzeczy Na przykład formuły, wartości lub komentarze. Parametry to xlFormulas, xlValues, xlComments.
LookAt: Niezależnie od tego, czy szukasz całej treści, czy tylko jej części. Parametry to xlWhole, xlPart.
SearchOrder: Czy szukasz w wierszach lub kolumnach. xlByRows lub xlByColumns.
SearchDirection: Czy patrzysz na następną komórkę lub poprzednią komórkę. xlNext, xlPrevious.
MatchCase: W treści, której szukasz, rozróżniana jest wielkość liter, czy nie. Prawda czy fałsz.
MatchByte: dotyczy tylko języków dwubajtowych. Prawda czy fałsz.
SearchFormat: Czy szukasz przez formatowanie. Jeśli szukasz formatu, musisz użyć metody Application.FindFormat .
To jest wyjaśnienie składni metody VBA FIND. Oprócz pierwszego parametru wszystko jest opcjonalne. W sekcji przykładów zobaczymy, jak korzystać z tej metody FIND w kodowaniu VBA.
Jak korzystać z funkcji Excel VBA Find?
Nauczymy się korzystać z funkcji VBA Find Excel z kilkoma przykładami.
Możesz pobrać ten szablon VBA Find Excel tutaj - VBA Find Excel TemplateFunkcja wyszukiwania VBA - przykład nr 1
Najpierw wyjaśnię ci prosty przykład użycia właściwości ZNAJDŹ i znajdź treść, której szukamy. Załóżmy poniżej, że masz dane w arkuszu programu Excel.
Krok 1: Od tego chcę znaleźć imię John, otwórzmy Visual Basic i zacznijmy kodować.
Kod:
Sub Find_Ex1 () End Sub
Krok 2: Tutaj nie można rozpocząć słowa ZNAJDŹ, ponieważ ZNAJDŹ jest częścią właściwości ZAKRES. Po pierwsze, musimy wspomnieć, gdzie szukamy, czyli zasięg.
Krok 3: Najpierw wspomnij o zakresie, którego szukamy. W naszym przykładzie nasz zakres wynosi od B2 do B11.
Kod:
Sub Find_Ex1 () Zakres („B2: B11”) Koniec Sub
Krok 4: Po wskazaniu zakresu umieść kropkę (.) I wpisz ZNAJDŹ. Musisz zobaczyć ZNAJDŹ właściwość.
Krok 5: Wybierz właściwość ZNAJDŹ i otwórz nawias.
Krok 6: Naszym pierwszym argumentem jest to, czego szukamy. Aby podświetlić argument, możemy przekazać taki argument : What: =, byłoby pomocne, aby określić, do którego parametru się odnosimy.
Kod:
Sub Find_Ex1 () Zakres („B2: B11”). Znajdź (What: = „John”) End Sub
Krok 7: Ostatnia część to znalezienie słowa, co chcemy zrobić. Musimy wybrać słowo, więc przekaż argument jako. Wybierz
Kod:
Sub Find_Ex1 () Zakres („B2: B11”). Znajdź (What: = „John”). Wybierz End Sub
Krok 8: Następnie uruchom ten kod za pomocą klawisza F5 lub ręcznie, jak pokazano na rysunku, aby wybrać pierwsze znalezione słowo Johnson, które zawiera słowo John.
Funkcja wyszukiwania VBA - przykład 2
Teraz pokażę ci, jak znaleźć słowo komentarza za pomocą metody find. Mam dane iw trzech komórkach mam komentarz.
Komórki mające czerwoną flagę mają w nim komentarze. Na podstawie tego komentarza chcę wyszukać słowo „Bez prowizji”.
Krok 1: Rozpocznij kod od podania zakresu („D2: D11”) i wstaw kropkę (.) I wpisz Znajdź
Kod:
Sub Find_Ex2 () Zakres („D2: D11”). Znajdź (End Sub
Krok 2: W TYM argumencie wpisz słowo „Bez prowizji”.
Kod:
Sub Find_Ex2 () Zakres („D2: D11”). Znajdź (What: = „No Commission”, End Sub
Krok 3: Zignoruj część After i wybierz część LookIn. W części LookIn szukamy tego słowa w komentarzach, więc wybierz xlComments, a następnie przekaż argument jako .Select
Kod:
Sub Find_Ex2 () Zakres („D2: D11”). Znajdź (What: = „No Commission”, LookIn: = xlComments) .Wybierz End Sub
Krok 4: Teraz uruchom ten kod za pomocą klawisza F5 lub ręcznie, jak pokazano na rysunku, aby wybrać komórkę z komentarzem „Bez prowizji”. W komórce D9 mamy wspomniany komentarz.
Postępuj z wartościami błędów w Excel VBA Find
Jeśli szukane słowo nie znajdzie się w zakresie, podaliśmy kod VBA, który zwróci taki błąd.
Aby pokazać użytkownikowi, że szukana wartość jest niedostępna, potrzebujemy poniższego kodu.
Jeśli powyższy kod znalazł wartość, to pokazuje wartość i adres komórki, albo wyświetli komunikat jako „ Wartość, której szukasz, nie jest dostępna w podanym zakresie !!!”.
Rzeczy do zapamiętania
- VBA FIND jest częścią właściwości RANGE i musisz użyć FIND po wybraniu tylko zakresu.
- W ZNAJDŹ pierwszy parametr jest obowiązkowy (Co) oprócz tego wszystko inne jest opcjonalne.
- Jeśli chcesz znaleźć wartość po określonej komórce, możesz wspomnieć o komórce w parametrze After składni Find.
Polecane artykuły
Jest to przewodnik po funkcji wyszukiwania VBA. Tutaj omówiliśmy VBA Find i jak korzystać z Excel VBA Find Function wraz z praktycznymi przykładami i szablonem Excela do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -
- ZNAJDŹ funkcję w programie Excel
- Funkcja VBA w programie Excel
- Przewodnik po zakresie w programie Excel
- Jak korzystać z funkcji VBA VLOOKUP?