Spis treści
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.xlsmWprowadzenie 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!