Jak korzystać z funkcji xlookup w vba (z przykładami)
Aby wykonać XLOOKUP przy użyciu języka VBA, możesz użyć następującej podstawowej składni:
Sub Xlookup()
Range(" F2 ").Value = WorksheetFunction.Xlookup(Range(" E2 "), Range(" A2:A11 "), Range(" C2:C11 "))
End Sub
Ten konkretny przykład szuka wartości w komórce E2 w zakresie A2:A11 i znajduje pasującą wartość w zakresie C2:C11 , a następnie przypisuje wynik do komórki F2 .
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: Jak używać XLOOKUP w VBA
Załóżmy, że mamy w programie Excel następujący zbiór danych zawierający informacje o różnych koszykarzach:
Załóżmy, że chcemy przeszukać zbiór danych pod kątem nazwy zespołu „Kings” i zwrócić odpowiednią wartość w kolumnie asyst.
W tym celu możemy utworzyć następujące makro:
Sub Xlookup()
Range(" F2 ").Value = WorksheetFunction.Xlookup(Range(" E2 "), Range(" A2:A11 "), Range(" C2:C11 "))
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Makro poprawnie zwraca wartość 3 asyst dla królów.
Jeśli zmienimy nazwę zespołu w komórce E2 , a następnie ponownie uruchomimy makro, poprawnie znajdzie ono wartość pomocniczą dla nowej nazwy zespołu.
Załóżmy na przykład, że zmieniamy nazwę drużyny na „Warriors” i ponownie uruchamiamy makro:
Makro poprawnie zwraca wartość 4 asyst dla Wojowników.
Pamiętaj, że możesz także dodać opcjonalny czwarty argument do funkcji Xlookup , aby określić wartość, która powinna zostać wyświetlona, jeśli nie zostanie znalezione dopasowanie.
Na przykład możesz użyć poniższego makra, aby uruchomić funkcję XLOOKUP i zwrócić wartość „Brak”, jeśli nie zostanie znalezione dopasowanie:
Sub Xlookup()
Range(" F2 ").Value = WorksheetFunction.Xlookup(Range(" E2 "), Range(" A2:A11 "), Range(" C2:C11 "), "None")
End Sub
Możesz zastąpić „Brak” dowolną wartością, którą chcesz wyświetlić.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: Jak korzystać z dopasowywania indeksów
VBA: jak korzystać z funkcji WYSZUKAJ.PIONOWO
VBA: Jak korzystać z funkcji WYSZUKAJ.PIONOWO z innego arkusza