Funkcja wyszukiwania VBA - Jak korzystać z funkcji wyszukiwania VBA? (Przykłady)

Spisie treści

Excel VBA Znajdź

Kiedy używamy Znajdź w normalnym arkuszu roboczym, wciskamy skrót klawiszowy CTRL + F i wpisujemy dane, które musimy znaleźć, a jeśli nie jest to pożądana wartość, przechodzimy do następnego dopasowania, jeśli jest dużo takich dopasowań, jest to żmudne zadanie, ale kiedy używamy ZNAJDŹ w VBA, wykonuje zadania za nas i podaje nam dokładne dopasowanie. Potrzeba trzech argumentów, jeden to, co znaleźć, gdzie znaleźć i gdzie spojrzeć.

Zanim przejdziemy do VBA i zaczniemy używać funkcji wyszukiwania w makrach, musimy najpierw dowiedzieć się, czym jest funkcja wyszukiwania w programie Excel. W normalnym programie Excel na karcie Strona główna pod grupą edycji możemy znaleźć funkcję wyszukiwania, która służy do wyszukiwania ciągu lub wartości w zakresie komórek lub całym arkuszu.

Kiedy to klikniemy, otrzymamy dwie opcje;

Jedno jest łatwe do znalezienia,

Widzimy, że ma również tryb opcji, który otwiera kolejną funkcję.

Wykonuje algorytm znajdowania z czterema ograniczeniami: Znajdź co, w środku, Wyszukaj i zajrzyj.

Drugą opcją w programie Excel jest Znajdź i zamień, który jest używany, gdy znajdujemy ciąg, ale co zastąpić go dowolną inną wartością,

Znajdź składnię funkcji

Dowiedzieliśmy się powyżej, co znajduje się w podstawowym programie Excel. W VBA piszemy kody ręcznie, ale funkcje są takie same jak w zwykłym programie Excel. Najpierw przyjrzyjmy się składni.

Expression.Find (What, lookin,….)

Jeśli szukana wartość zostanie znaleziona za pomocą funkcji excel, zwraca komórkę, w której znajduje się wartość, a jeśli wartość nie zostanie znaleziona, obiekt funkcji jest ustawiany na nic.

Wyrażenia w makrach to zdefiniowane zakresy, takie jak zakres 1 lub zakres 2. Jakie jest słowo kluczowe dla tego, czego szukamy dla określonej wartości? Lookin to słowo kluczowe określające to, co próbujemy wyszukać, czy jest to komentarz, formuła czy ciąg. Podobnie istnieją inne ograniczenia w funkcji Find, które są opcjonalne. Jedynym wymaganym polem obowiązkowym jest wartość, którą próbujemy wyszukać.

Zasadniczo VBA stwierdza, że ​​Excel ma jeden wymagany argument, czyli jaką wartość chcemy wyszukać. Pozostałe ograniczenia są opcjonalne, a funkcja find ma wiele ograniczeń. Funkcja wyszukiwania jest podobna do funkcji znajdowania w programie Excel.

Parametrem funkcji find jest zakres komórek, na przykład zakres, w którym chcemy znaleźć wartość. Może to być kilka kolumn, kilka komórek lub cały arkusz.

Przykłady

Przykład 1

Załóżmy, że nasze dane mają następujące wartości

Postaramy się znaleźć „Aran” w tych samych danych.

  • Aby napisać kod VBA, konieczne jest włączenie zakładki programisty w programie Excel, aby móc pisać kody VBA.
  • Zaczynamy pisać nasz kod, pisząc następujący kod, jak pokazano poniżej,
Sub Sample ()
DimFindS As String
Dim Rng As Range
FindS = InputBox („Wprowadź wartość, którą chcesz wyszukać”)
Z Arkuszami („Arkusz1”) .Range („A: A”)
  • Przykładem jest nazwa funkcji nadana subowi.
  • Znajdź to ciąg znaków, który ma wyszukiwać użytkownik, którego chcemy wprowadzić.
  • Rng to zmienna, którą wzięliśmy dla zakresu.
  • Teraz prosimy użytkownika o wpisanie wartości, która wygląda jak na poniższym zrzucie ekranu,
  • Teraz zdefiniujemy naszą funkcję find w module.
  • Funkcja wyszukuje wartość wprowadzoną przez użytkownika w podanym zakresie.
  • Teraz zamykamy funkcję następującymi argumentami.
  • Teraz, jeśli najpierw uruchomimy nasz kod, zapyta użytkownika o podanie wartości.
  • Po zakończeniu kodu zwraca komórkę, w której znaleziono dane.

Przykład nr 2

W powyższym przykładzie były cztery unikalne nazwy, ale co by było, gdyby w danych było więcej niż jedna nazwa, na przykład rozważ poniższe dane,

Widzimy, że imię Aran jest powtórzone dwukrotnie w powyższych danych. Jeśli program Excel musi znaleźć nazwę Aran, znajdzie ją w komórce A2 i zatrzyma się, ale istnieje inna wartość podobna do wartości A2 w komórce A6. Jak pobrać tę wartość? Tutaj w pomocy pojawia się składnia funkcji Znajdź (co, po).

Po zdefiniowaniu komórki, po której odwołaniu chcemy przeszukać dane.

Napiszmy kod dla powyższych danych.

  • Zawsze pamiętaj, aby włączyć kartę programisty z opcji, a następnie dostosować wstążkę w programie Excel, aby móc pisać kod w języku VBA.
  • W VBA otrzymujemy obiekty Microsoft excel, czyli moduł, w którym piszemy kody.
  • Wcześniej pracowaliśmy na arkuszu 1; teraz pracujemy na arkuszu 2, więc wybierz arkusz 2 dla innego modułu, a pojawi się pusta strona.
  • Teraz zacznij pisać kod, definiując najpierw funkcję jako SUB Sample2 () i naciśnij enter.
  • Teraz zdefiniowaliśmy naszą funkcję; zaczniemy przechodzić do głównej części, czyli definiowania naszych zmiennych.
  • Zdefiniuj, co powinna mieć zmienna Find,
  • Wybierz arkusze, nad którymi pracujemy, czyli arkusz 2 w tym przykładzie,
  • Teraz znajdziemy tekst, który użytkownik wprowadzi po komórce A2, więc definiujemy naszą funkcję wyszukiwania jak poniżej,
  • Teraz zamykamy kod, kończąc warunki zi if.

Powyższy kod wyszukuje ciąg po komórce A2 i zwraca komórkę wszędzie tam, gdzie zostanie znaleziona.

Rzeczy do zapamiętania

  1. Po pierwsze, musimy włączyć kartę programisty, aby korzystać z VBA.
  2. Jaka jest konkretna wartość, którą musimy znaleźć?
  3. Jeśli wartość nie zostanie znaleziona, obiekt funkcji jest ustawiany na nic.

Interesujące artykuły...