Excel VBA, aby znaleźć wartość w kolumnie (6 odpowiednich przykładów)

  • Udostępnij To
Hugh West

W programie MS Excel często musimy wyszukiwać lub znajdować wartości w zbiorze danych. Może to być wyszukiwanie danych w wierszach lub kolumnach. Na szczęście Excel udostępnia różne funkcje i formuły do wykonywania tego typu zadań. Z pomocą kodu VBA programu Excel możemy zautomatyzować to zadanie wyszukiwania lub znajdowania wartości. W tym artykule zobaczymy różne sposoby na znaleźć wartość w kolumnie w Excelu VBA.

Pobierz Zeszyt ćwiczeń

Znajdź wartość w kolumnie.xlsm

6 Przykłady VBA, aby znaleźć wartość w kolumnie w Excelu

Miejmy zbiór danych informacji o produktach z ich ID produktu , Marka , Model , Cena jednostkowa oraz Identyfikator zamówienia . Nasze zadanie polega na znalezieniu dopasowanego Identyfikator zamówienia Teraz naszym zadaniem jest znalezienie Identyfikator zamówienia związany z ID produktu .

1. Znajdź wartość w kolumnie używając funkcji Znajdź w VBA

W pierwszym przykładzie użyjemy Funkcja Znajdź w VBA aby znaleźć wartość w kolumnie.

📌 Kroki:

  • Przejdź do nazwy arkusza na dole.
  • Naciśnij prawy przycisk myszy.
  • Wybierz Wyświetl kod opcja z listy.

  • Otworzy się okno VBA, w którym należy wybrać Moduł od Wkładka opcja

  • Teraz w konsoli VBA napisz następujący kod
 Sub Find_Value() Dim ProductID As Range Range("D4").ClearContents Set ProductID = Range("B8:B19").Find(What:=Range("C4").Value, _ LookIn:=xlValues, LookAt:=xlWhole) If Not ProductID Is Nothing Then Range("E5").Value = ProductID.Offset(, 4).Value Else MsgBox "No Matched Data Found !!!" End If End Sub. 

  • Teraz wstaw przycisk w zbiorze danych.
  • Idź do Deweloper tab.
  • Wybierz Przycisk ( Kontrola formularzy ) od. Wkładka sekcja.

  • Podaj dowolną nazwę przycisku, np. ja podaję ją jako Szukaj .

  • Przypisz kod do tego przycisku.
  • Wybierz przycisk i naciśnij prawy przycisk myszy.
  • Wybierz Przypisz Makro z listy.

  • Wybierz żądane makro z listy Przypisz Makro okno.
  • Następnie naciśnij OK .

  • Teraz napisz dowolny ID produktu i kliknąć na Szukaj przycisk.

Możemy zobaczyć No match is showing, ponieważ ten numer produktu nie znajduje się na liście.

  • Postawić kolejny ID produktu i ponownie naciśnij przycisk Szukaj przycisk.

Otrzymujemy numer zamówienia dla danego ID produktu .

Read More: Jak uzyskać wartość komórki według wiersza i kolumny w Excelu VBA

2. VBA do znalezienia wartości z różnych arkuszy

Teraz w tej części zrobimy to samo co powyżej, ale dla różnych arkuszy. Załóżmy, że nasze informacje o produkcie znajdują się w Arkusz 2 , a pole wyszukiwania znajduje się w Arkusz 3 Teraz napiszemy kod VBA, abyśmy mogli wyszukać ID zamówienia przy użyciu ID produktu z Arkusz 3 .

Plansza 2:

Arkusz3:

📌 Kroki:

  • Wykonaj te same kroki, co w przypadku krok 1 do krok 2 z poprzedniej metody, aby otworzyć konsolę VBA
  • Teraz w konsoli VBA napisz następujący kod
 Sub Find_Value_from_worksheets() Dim rng As Range Dim ProductID As String Dim rownumber As Long ProductID = Sheet3.Cells(4, 3) Set rng = Sheet2.Columns("B:B").Find(What:=ProductID, _ LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _ SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) rownumber = rng.Row Sheet3.Cells(5, 5).Value = Sheet2.Cells(rownumber, 6).Value End Sub 

  • Teraz ponownie wstaw przycisk jak w poprzednim przypadku.
  • Następnie przypisz kod makra do przycisku.

  • Wpisz dowolny ID produktu i kliknąć na Wykonaj przycisk

Read More: Wyszukaj wartość w kolumnie i zwróć wartość innej kolumny w Excelu

3. znajdź i zaznacz wartość w kolumnie

Zobaczmy, jak możemy znaleźć wartości z kolumny poprzez ich zaznaczenie. W tym celu załóżmy ten sam zestaw danych powyżej z dodatkową kolumną o nazwie Status dostawy Teraz naszym zadaniem jest zaznaczenie wartości w Status dostawy kolumna, które są W oczekiwaniu na .

📌 Kroki:

  • Wykonaj ten sam krok od krok 1 do krok 2 jak poprzednia metoda, aby otworzyć konsolę VBA
  • Teraz w konsoli VBA napisz następujący kod
 Sub Find_and_Mark() Dim strAddress_First As String Dim rngFind_Value As Range Dim rngSrch As Range Dim rng_Find As Range Set rng_Find = ActiveSheet.Range("G1:G16") Set rngSrch = rng_Find.Cells(rng_Find.Cells.Count) Set rngFind_Value = rng_Find.Find("Pending", rngSrch, xlValues) If Not rngFind_Value Is Nothing Then strAddress_First = rngFind_Value.Address rngFind_Value.Font.Color = vbRed Do SetrngFind_Value = rng_Find.FindNext(rngFind_Value) rngFind_Value.Font.Color = vbRed Loop Until rngFind_Value.Address = strAddress_First End If End Sub 

  • Teraz przejdź do arkusza i uruchom kod.
  • Zobacz dane wyjściowe w tabeli.

Read More: Jak znaleźć najwyższą wartość w kolumnie Excela (4 metody)

4. VBA do wyszukiwania wartości w kolumnie przy użyciu znaków wieloznacznych

Na koniec zobaczymy, jak możemy wyszukiwać lub znajdować wartości w kolumnach za pomocą znaków wieloznacznych w Excelu VBA. Ponownie użyjemy tego samego zbioru danych, co powyżej. Naszym zadaniem jest znalezienie cen produktów za pomocą ich modelu. Moglibyśmy wpisać pełną nazwę lub ostatnie/pierwsze znaki ID produktu .

📌 Kroki:

  • Wykonaj ten sam krok od krok 1 do krok 2 jak poprzednia metoda, aby otworzyć konsolę VBA
  • Teraz w konsoli VBA napisz następujący kod
 Sub Find_Using_Wildcards() Set myerange = Range("B5:G16") Set ID = Range("D19") Set Price = Range("F20") Price.Value = Application.WorksheetFunction.VLookup _ ("*" & Range("D19") & "*", myerange, 4, False) End Sub. 

  • Ponownie wstawiamy przycisk jak w poprzednim przypadku.
  • Teraz przypisz kod makra do przycisku.

  • Teraz wprowadź dowolny częściowy ID produktu i nacisnąć przycisk Wykonaj przycisk.

Read More: Jak znaleźć najniższą wartość w kolumnie Excela (6 sposobów)

5. Excel VBA, aby znaleźć maksymalną wartość w kolumnie

Tutaj chcemy znaleźć maksymalną wartość kolumny za pomocą kodu VBA.

📌 Kroki:

  • Chcemy poznać cenę maksymalną.

  • Teraz umieść następujący kod VBA na nowym module.
 Sub Kolumna_Max() Dim zakres_1 As Zakres Set zakres_1 = Application.InputBox(prompt:="Select Range", Type:=8) Max_kolumna = WorksheetFunction.Max(zakres_1) MsgBox Max_kolumna End Sub. 

  • Następnie naciśnij przycisk F5 aby uruchomić kod VBA.
  • Na stronie Wejście Pojawia się okno dialogowe.
  • Wybierz zakres ze zbioru danych.

  • Na koniec naciśnij przycisk OK przycisk.

Widzimy, że maksymalna wartość jest pokazana w oknie dialogowym.

6. Excel VBA, aby znaleźć ostatnią wartość w kolumnie

Tutaj chcemy poznać wartość ostatniego wiersza lub komórki określonej kolumny. Na przykład, chcemy poznać ostatni produkt z kolumny Produkt

📌 Kroki:

  • Wprowadź VBA poniższy kod na module.
 Sub ostatnia_wartość() Dim L_Row As Long L_Row = Cells(Rows.Count, "B").End(xlUp).Row MsgBox Cells(L_Row, 2).Value End Sub 

  • Następnie uruchom kod, naciskając przycisk F5 przycisk.

Ostatnia wartość jest wyświetlana w oknie dialogowym.

Read More: Jak znaleźć ostatnie wystąpienie wartości w kolumnie w programie Excel (5 metod)

Rzeczy do zapamiętania

Niektóre częste błędy:

  • Błąd: One Value at a Time. Ponieważ ZNAJDŹ Metoda może znaleźć tylko jedną wartość w tym samym czasie.
  • Błąd: #NA w VLOOKUP Jeżeli poszukiwana wartość nie występuje w podanym zbiorze danych, to funkcja zwróci to #NA błąd.
  • Range("Cell_Number").ClearContents część jest używana do wyczyszczenia poprzedniej wartości z komórki. W przeciwnym razie poprzednia wartość musi być usunięta ręcznie.

Wniosek

Są to niektóre sposoby na znalezienie wartości w kolumnach przy użyciu kodu VBA w Excelu. Pokazałem wszystkie metody z ich odpowiednimi przykładami, ale może być wiele innych iteracji. Omówiłem również podstawy używanych funkcji. Jeśli masz jakąś inną metodę osiągnięcia tego celu, to zapraszam do podzielenia się nią z nami. Odwiedź naszą stronę internetową ExcelWIKI po więcej ciekawych artykułów na temat Excela.

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.