Excel VBA do dopasowania wartości w zakresie (3 przykłady)

  • Udostępnij To
Hugh West

Podczas pracy z Microsoft Excel , czasami musimy znaleźć pasującą wartość w zakresie. Możemy to łatwo zrobić za pomocą funkcji Excela. Istnieją funkcje w VBA, które możemy wykorzystać, ale żadna z nich nie jest równa MATCH W tym artykule dowiemy się, jak dopasować wartość w zakresie za pomocą Excel VBA .

Pobierz Zeszyt ćwiczeń

Możesz pobrać zeszyt ćwiczeń i ćwiczyć z nimi.

VBA Dopasowanie wartości w zakresie.xlsm

Wprowadzenie do programu Excel VBA Funkcja dopasowania

Na stronie Funkcja dopasowania w Excelu VBA to pomocna, skonstruowana funkcja lookup, która podobnie jak VLOOKUP , HLOOKUP , oraz INDEX funkcji, zwraca miejsce identycznego lub porównywalnego dopasowania wartości lookup uzyskanych w tablicach lub bazie danych. Funkcja ta jest funkcją arkusza kalkulacyjnego, z którego korzysta program. Ponieważ jest to funkcja arkusza kalkulacyjnego, parametry funkcji Match są podobne do parametrów funkcji arkusza kalkulacyjnego.

3 Przykłady Excel VBA, aby dopasować wartość w zakresie

1. dopasowanie wartości w zakresie za pomocą funkcji dopasowania VBA w Excelu

Do użytku funkcja Excel VBA "Dopasuj Aby znaleźć pasującą wartość w zakresie, użyjemy następującego zestawu danych. Zestaw ten zawiera nazwiska uczniów w kolumnie C , ich oceny z danego przedmiotu w kolumnie D oraz numer porządkowy każdego ucznia w kolumnie B Załóżmy teraz, że chcemy znaleźć pozycję dopasowania w komórce G5 konkretnego znaku, a znak, który chcemy dopasować znajduje się w komórce F5 .

Zademonstrujmy procedurę wyszukiwania pasujących wartości w zakresie przy użyciu funkcji Excela VBA Match .

KROKI:

  • Po pierwsze, przejdź do Deweloper zakładka ze wstążki.
  • Po drugie, kliknij na Visual Basic aby otworzyć Edytor Visual Basic , gdzie wpisujemy kod. Albo, naciśnij Alt + 11 aby otworzyć Edytor Visual Basic .

  • Inny sposób na otwarcie Edytor Visual Basic jest po prostu do kliknij prawym przyciskiem myszy na stronie na arkuszu i kliknij na Wyświetl kod .

  • Spowoduje to otwarcie Edytor Visual Basic . Teraz napisz tam kod.

VBA Kod:

 Sub example1_match() Range("G5").Value = WorksheetFunction.Match(Range("F5").Value, Range("D5:D10"), 0) End Sub 
  • Następnie, aby uruchomić kod, należy nacisnąć przycisk F5 na klawiaturze lub kliknij na Rub Sub przycisk.

  • W końcu widać, że dopasowanie znajduje się w pozycji 5 .

🔎 Jak działa kod VBA?

  • Sub przyklad1_przyklad() : Oznacza to, że definiujemy podprocedurę poprzez podanie nazwy makra.
  • Range("G5").Value : Chcemy, aby dane wyjściowe były zapisane w komórce G5 .
  • WorksheetFunction : Dzięki zastosowaniu tego kodu będziemy mieli dostęp do funkcji VBA.
  • Match(Range("F5").Value, Range("D5:D10"), 0) : Tutaj używamy funkcja dopasowania w VBA. Ponieważ chcemy pobrać wartość z komórki F5 i znaleźć pozycję w przedziale D5:D10 .
  • End Sub : Oznacza to, że kończymy procedurę.

Czytaj więcej: Excel VBA, aby dopasować ciąg w kolumnie (5 przykładów)

2. wykorzystanie VBA w Excelu do dopasowania wartości z innego arkusza

Możemy znaleźć pasujące wartości w zakresie z innego arkusza, używając funkcja VBA "Dopasuj w Excel Załóżmy, że mamy zbiór danych w arkuszu o nazwie " Dane ", a wynik chcemy mieć w nazwie arkusza " Wynik ". I używamy tego samego zestawu danych, a teraz wykonajmy kroki, aby to zrobić.

KROKI:

  • Na początku, tym samym co we wcześniejszym przykładzie, przejdź do Deweloper na wstążce.
  • Następnie należy kliknąć na Visual Basic lub naciśnij Alt + F11 aby otworzyć Edytor Visual Basic .
  • Zamiast tego, aby otworzyć Edytor Visual Basic , wystarczy kliknąć prawym przyciskiem myszy na arkuszu i wybrać Wyświetl kod .

  • Teraz zapisz kod VBA.

VBA Kod:

 Sub example2_match() Sheets("Wynik").Range("C5").Value = WorksheetFunction.Match(Sheets("Wynik").Range("C5").Value, Sheets("Dane").Range("D5:D10"), 0) End Sub 
  • Następnie uruchom kod, naciskając przycisk F5 lub klikając przycisk Run Sub przycisk.

  • I, wynik znajduje się w " Wynik " arkusz.

Read More: Jak dopasować dane w Excelu z 2 arkuszy

Podobne lektury

  • Sumowanie wszystkich dopasowań za pomocą VLOOKUP w Excelu (3 proste sposoby)
  • Jak znaleźć dopasowanie z uwzględnieniem wielkości liter w programie Excel ( 6 formuł)
  • Jak dopasować nazwy w Excelu, gdzie pisownia się różni (8 metod)

3. pętle Excel VBA, aby uzyskać dopasowaną wartość w zakresie

Przypuśćmy, że chcemy, aby wiele znaków dopasowało się do wartości, użyjemy do tego pętli VBA. Używamy tego samego zbioru danych co poprzednio. Teraz chcemy, aby pozycja dopasowania w kolumnie G a znaki, do których chcemy znaleźć dopasowanie, znajdują się w kolumnie F Zobaczmy kroki w dół.

KROKI:

  • Po pierwsze, ze wstążki przejdź do Deweloper tab.
  • Po drugie, aby otworzyć Edytor Visual Basic , kliknij na Visual Basic lub naciśnij Alt + F11 .
  • Lub po prostu kliknij prawym przyciskiem myszy na arkuszu i wybierz Wyświetl kod .

  • Spowoduje to otwarcie Edytor Visual Basic .
  • Teraz wpisz tam kod.

VBA Kod:

 Sub example3_match() Dim i As Integer For i = 5 To 8 Cells(i, 7).Value = WorksheetFunction.Match(Cells(i, 6).Value, Range("D5:D10"), 0) Next i End Sub 
  • Następnie należy nacisnąć przycisk F5 lub klikając przycisk Run Sub przycisk uruchomi kod.

  • Wynik będzie można zobaczyć w kolumnie G .

🔎 Jak działa kod VBA?

  • For i = 5 To 8 : Oznacza to, że chcemy, aby pętla była uruchamiana od wiersza 5 i kończąc na rzędzie 8 .
  • Cells(i, 7).Value : Zapisuje to wartość wynikowych lokalizacji w każdym wierszu z 5 do 8 wiersze w kolumnie G czyli numer kolumny 7 .
  • Match(Cells(i, 6).Value, Range("D5:D10"), 0) : Komórki można dopasować za pomocą Mecz funkcja (i, 6). Wartości wyszukują każdą wartość Lookup znalezioną w wierszach 5 poprzez 8 z 6. Następnie szukamy w tablicy D5:D10 na arkuszu excel, gdzie dostępne są dane.

Read More: Excel Znajdź pasujące wartości w dwóch kolumnach

Rzeczy, o których należy pamiętać

  • Jeśli brakuje typu meczu lub nie został on określony, przyjmuje się, że jest to 1 .
  • Jeśli nie zostanie wykryte dopasowanie, powiązane pole Excela będzie puste.
  • Wartość Lookup może być danymi liczbowymi, znakowymi lub logicznymi, albo odwołaniem do komórki do ilości, tekstu lub znaczenia logicznego.

Wniosek

Powyższe metody pomogą Ci dopasować wartości w zakresie w Excelu VBA. Mam nadzieję, że to pomoże! Jeśli masz jakieś pytania, sugestie lub opinie, proszę daj nam znać w sekcji komentarzy. Możesz też rzucić okiem na nasze inne artykuły w ExcelWIKI.com blog!

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