Jak używać VLOOKUP w VBA (4 sposoby)

  • Udostępnij To
Hugh West

W zakresie wyszukiwania lub oglądania pewnych określonych wartości lub elementów MS Excel udostępnia różne funkcje. VLOOKUP Jest to jedna z nich, która pomaga nam wyszukiwać pożądane dane z dowolnego zbioru danych. Pozwala nam określić, czy chcemy szukać dokładnego dopasowania, czy też przybliżonego. Oprócz używania tej funkcji w formule Excela, możemy używać jej również w kodzie VBA. W tym artykule zobaczymy, jak możemy użyć tej funkcji Funkcja VLOOKUP w VBA.

Pobierz podręcznik do ćwiczeń

VLOOKUP w VBA.xlsm

4 sposoby użycia VLOOKUP w VBA

1. ręczne wyszukiwanie danych za pomocą VLOOKUP w VBA

Teraz naszym zadaniem jest ręczne wyszukanie informacji o pracownikach przy użyciu ich identyfikatorów. W tej części dowiemy się tylko, jakie jest wynagrodzenie pracownika przy użyciu jego identyfikatorów.

Krok 1: Wybierz Visual Basic pod adresem Deweloper zakładka (Skrót Alt + F11 )

Krok 2: Wtedy pojawi się okno. Wybierz Moduł opcja pod Wkładka przycisk

Krok 3: Teraz napisz w konsoli VBA następujący kod i naciśnij przycisk Uruchom przycisk (Skrót F5 )

Kod:

 Sub vlookup_function_1() Dim Employee_id As Long Dim salary As Long Employee_id = 1144 Set myerange = Range("B4:F11") salary = Application.WorksheetFunction.VLookup(Employee_id, myerange, 5, False) MsgBox "Employee ID:" & Employee_id & " Salary " & "$" & salary End Sub. 

Krok 4: Teraz pojawi się komunikat, który pokaże informacje

Read More: VLOOKUP do wyszukiwania tekstu w Excelu (4 proste sposoby)

2. wyszukiwanie danych na podstawie danych wejściowych za pomocą VLOOKUP w VBA

Teraz zobaczmy, jak możemy wyszukiwać lub wydobywać dane z tabel lub zakresów za pomocą danych wejściowych. Tak jak na rysunku, dowiemy się nazwy wprowadzonego id z tabeli informacji o pracownikach.

Krok 1: Najpierw otwórz konsolę VBA, wykonując ten sam krok 1 do kroku 2

Krok 2: Teraz w oknie VBA wprowadź następujący kod

Kod:

 Sub vlookup_function_2() Set myerange = Range("B4:F11") Set ID = Range("D13") Set Name = Range("D14") Name.Value = Application.WorksheetFunction.VLookup(ID, myerange, 2, False) End Sub 

Krok 3: Teraz wpisz dowolny identyfikator w komórce D13 i uruchomić kod

Krok 4: Na stronie Nazwa który jest zapisany w odniesieniu do ID, zostanie pokazany

Read More: 10 najlepszych praktyk z VLOOKUP w Excelu

Podobne lektury

  • VLOOKUP nie działa (8 powodów & rozwiązania)
  • INDEX MATCH vs VLOOKUP Funkcja (9 przykładów)
  • Użyj VLOOKUP z wieloma kryteriami w programie Excel (6 metod + alternatywy)
  • Excel VLOOKUP, aby znaleźć ostatnią wartość w kolumnie (z alternatywami)
  • Excel VLOOKUP, aby zwrócić wiele wartości pionowo

3. Znajdź informacje za pomocą pola wejściowego używając VLOOKUP w VBA

Zobaczmy, jak możemy przeszukiwać dane za pomocą pola wprowadzania danych w VBA. Do przeszukiwania musimy użyć VLOOKUP Znowu zbiór danych będzie taki sam, ale podejście do wyszukiwania będzie inne. Tutaj naszym zadaniem jest znalezienie wynagrodzenia pracownika poprzez wpisanie ID i Departamentu.

Krok 1: Najpierw otwórz okno VBA, wykonując ten sam krok 1 do kroku 2

Krok 2: Teraz w konsoli VBA wprowadź następujący kod i Uruchom to

Kod:

 Sub vlookup_function_3() For i = 4 To Cells(Rows.Count, "B").End(xlUp).Row Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value Next i End Sub 

Krok 3: Spowoduje to wydrukowanie połączonego ciągu znaków z ID i Departamentem w pierwszej kolumnie

Krok 4: Teraz ponownie przejdź do konsoli VBA i wprowadź pełny kod i uruchom ponownie

Kod:

 Sub vlookup_funkcja_3() For i = 4 To Cells(Rows.Count, "B").End(xlUp).Row Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value Next i Dim ID As Long Dim department As String Dim lookup_val As String Dim salary As Long ID = InputBox("Podaj identyfikator pracownika") department = InputBox("Podaj dział pracownika") lookup_val = ID & "_" & department OnError GoTo Message sprawdzenie: salary = Application.WorksheetFunction.VLookup(lookup_val, Range("A:F"), 6, False) MsgBox ("Wynagrodzenie pracownika wynosi $" & salary) Message: If Err.Number = 1004 Then MsgBox ("Employee data not present") End If End Sub. 

Kod Objaśnienie

  • Po pierwsze, Cells(i, "A").Value = Cells(i, "B").Value & "_" & Cells(i, "D").Value używając tego kodu zapisujemy wartości ID i Department w kolumnie A.
  • lookup_val = ID & "_" & department to jest zdefiniowanie, że wartością lookup będzie ID i departament.
  • wynagrodzenie = Application.WorksheetFunction.VLookup(lookup_val, Range("A: F"), 6, False) Tutaj przechowujemy wynagrodzenie dopasowanego pracownika w zmiennej o nazwie wynagrodzenie
  • If Err. Number = 1004 Then jest to sprawdzanie warunku. sprawdzamy czy numer błędu to 1004 czy nie. w Excelu VBA kod 1004 oznacza, że szukana wartość nie została znaleziona, usunięta.

Krok 5: Teraz pojawi się okienko jak na tym obrazku. Wpisz ID oraz Dział kolejno

Krok 6: Po naciśnięciu przycisku Ok przycisk, zostanie wyświetlone ostateczne wyjście

Krok 7: Jeśli wprowadzisz niewłaściwy ID lub Dział, Pojawi się poniższy komunikat

Read More: Jak VLOOKUP z wieloma warunkami w programie Excel (2 metody)

4. Znajdź informacje za pomocą przycisku używając VLOOKUP w VBA

Teraz zobaczymy jak za pomocą przycisku możemy wyszukać informacje zamiast ręcznie uruchamiać kod. Ponownie zbiór danych będzie taki sam jak powyżej.

Krok 1: Najpierw należy wybrać Wkładka opcja w ramach Deweloper zakładka

Krok 2: Następnie wybierz Przycisk opcja od Wkładka

Krok 3: Umieść przycisk zgodnie z Twoimi wymaganiami i podaj jego nazwę

Krok 4: Teraz kliknij prawym przyciskiem myszy na przycisk i wybierz Przypisz Makro

Krok 5: Teraz utwórz nowe makro i nazwij je vlookup_function_4

Krok 6: Napisz poniższy kod w konsoli VBA i Uruchom kodeks

Kod:

 Sub vlookup_function_4() Dim rng As Range, FinalResult As Variant, Table_Range As Range, LookupValue As Range Set rng = Sheets("Sheet4").Range("D15") Set Table_Range = Sheets("Sheet4").Range("B4:F11") Set LookupValue = Sheets("Sheet4").Range("D14") FinalResult = Application.WorksheetFunction.VLookup(LookupValue, Table_Range, 5, False) rng = FinalResult End Sub. 

Krok 6: Teraz wprowadź dowolny identyfikator i naciśnij przycisk

Read More: Zastosowanie VBA VLOOKUP do wyszukiwania wartości z innego arkusza w Excelu

Rzeczy do zapamiętania

Częste błędy Kiedy pokażą
1004 błąd Gdy kod VBA vlookup nie może znaleźć wartości lookup_value, da błąd 1004.
Funkcja VLOOKUP nie została znaleziona w VBA Funkcję Vlookup można wywołać w Excelu VBA za pomocą WorksheetFunction.
Obsługa błędów Błąd w funkcji vlookup może być kontrolowany za pomocą goto jeśli zwróci błąd.

Wniosek

Oto kilka sposobów na wykorzystanie VLOOKUP funkcja w 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.

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ł.