Obsah
Při práci s Microsoft Excel , někdy potřebujeme najít odpovídající hodnotu v rozsahu. To můžeme snadno provést pomocí excelovských funkcí. Ve VBA existují funkce, které můžeme použít, ale žádná z nich se nerovná MATCH V tomto článku se naučíme, jak přiřadit hodnotu v rozsahu pomocí Excel VBA .
Stáhnout cvičebnici
Můžete si stáhnout pracovní sešit a procvičovat s nimi.
VBA Shoda hodnoty v Range.xlsmÚvod do funkce Excel VBA Shoda
Na stránkách Funkce shody v Excelu VBA je užitečná funkce vyhledávání, která podobně jako funkce VLOOKUP , HLOOKUP a INDEX funkce, vrací umístění shodné nebo srovnatelné shody vyhledaných hodnot získaných v polích nebo v databázi. Tato funkce je funkcí pracovního listu, kterou program používá. Protože se jedná o funkci pracovního listu, jsou parametry funkce Shoda podobné parametrům funkce pracovního listu.
3 příklady aplikace Excel VBA pro porovnání hodnot v rozsahu
1. Shoda hodnot v rozsahu pomocí funkce shody VBA v aplikaci Excel
Použití funkce Excel VBA Match , pro nalezení shodné hodnoty v rozsahu použijeme následující datový soubor. Datový soubor obsahuje ve sloupci jména některých studentů. C , jejich známky z konkrétního předmětu ve sloupci D a pořadové číslo každého studenta ve sloupci B . Nyní předpokládejme, že chceme najít pozici shody v buňce G5 konkrétní značky a značka, které chceme odpovídat, je v buňce F5 .
Ukažme si postup vyhledání shodných hodnot v rozsahu pomocí funkce Excel VBA Match. .
KROKY:
- Nejprve přejděte do Vývojář z pásu karet.
- Za druhé klikněte na Visual Basic otevřít Editor jazyka Visual Basic , kde zapíšeme kód. Nebo stiskněte tlačítko Alt + 11 otevřít Editor jazyka Visual Basic .
- Další způsob otevření Editor jazyka Visual Basic je jen na to. klikněte pravým tlačítkem myši na na pracovním listu a klikněte na Zobrazit kód .
- Tím se otevře Editor jazyka Visual Basic . Nyní tam napište kód.
Kód VBA:
Sub example1_match() Range("G5").Value = WorksheetFunction.Match(Range("F5").Value, Range("D5:D10"), 0) End Sub
- Poté kód spustíte stisknutím tlačítka F5 na klávesnici nebo klikněte na Rub Sub tlačítko.
- Nakonec vidíte, že shoda byla nalezena na pozici 5 .
🔎 Jak funguje kód VBA?
Sub example1_match()
: To znamená, že definujeme podproceduru zadáním názvu makra.Range("G5").Value
: Chceme, aby byl výstup uložen v buňce G5 .WorksheetFunction
: Pomocí tohoto kódu budeme mít přístup k funkcím VBA.
Match(Range("F5").Value, Range("D5:D10"), 0)
: Zde používáme funkce Match ve VBA. Protože chceme převzít hodnotu z buňky F5 a zjistit polohu v rozsahu D5:D10 .End Sub
: To znamená, že proceduru ukončíme.
Další informace: Excel VBA pro porovnání řetězce ve sloupci (5 příkladů)
2. Použití aplikace Excel VBA k přiřazení hodnoty z jiného pracovního listu
Shodné hodnoty v rozsahu můžeme najít z jiného listu pomocí příkazu funkce VBA Match na adrese Excel Předpokládejme, že máme soubor dat v listu s názvem " Data " a chceme výsledek v názvu listu " Výsledek " A používáme stejnou datovou sadu. Nyní postupujme podle kroků, jak to provést.
KROKY:
- Na začátku, stejně jako v předchozím příkladu, přejděte na stránku Vývojář na pásu karet.
- Pak klikněte na Visual Basic nebo stiskněte Alt + F11 otevřít Editor jazyka Visual Basic .
- Namísto toho, abyste otevřeli Editor jazyka Visual Basic , stačí kliknout pravým tlačítkem myši na list a vybrat možnost Zobrazit kód .
- Nyní zapište kód VBA.
Kód VBA:
Sub example2_match() Sheets("Result").Range("C5").Value = WorksheetFunction.Match(Sheets("Result").Range("C5").Value, Sheets("Data").Range("D5:D10"), 0) End Sub
- Poté spusťte kód stisknutím tlačítka F5 nebo kliknutím na tlačítko Run Sub tlačítko.
- A výsledek se nachází v " Výsledek " list.
Přečtěte si více: Jak porovnat data v aplikaci Excel ze 2 pracovních listů
Podobná čtení
- Součet všech shod pomocí VLOOKUP v aplikaci Excel (3 snadné způsoby)
- Jak zjistit shodu citlivou na velikost písmen v aplikaci Excel ( 6 vzorců)
- Jak porovnat jména v aplikaci Excel, kde se liší pravopis (8 metod)
3. Smyčky Excel VBA pro získání odpovídající hodnoty v rozsahu
Předpokládejme, že chceme, aby se hodnota shodovala s více značkami, k tomu použijeme smyčky VBA. Používáme stejný datový soubor jako dříve. Nyní chceme, aby se pozice shody ve sloupci G a značky, které chceme najít, jsou ve sloupci F . Podívejme se na schody dolů.
KROKY:
- Nejprve na pásu karet přejděte na položku Vývojář tab.
- Za druhé, otevřít Editor jazyka Visual Basic , klikněte na Visual Basic nebo stiskněte Alt + F11 .
- Nebo jednoduše klikněte pravým tlačítkem myši na list a vyberte možnost Zobrazit kód .
- Tím se otevře Editor jazyka Visual Basic .
- Nyní do něj zadejte kód.
Kód VBA:
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
- Poté stiskněte tlačítko F5 nebo kliknutím na tlačítko Run Sub spustí kód.
- A výsledek se zobrazí ve sloupci G .
🔎 Jak funguje kód VBA?
Pro i = 5 až 8
: To znamená, že chceme, aby smyčka probíhala od řádku 5 a končí řádkem 8 .Cells(i, 7).Value
: Tím se uloží hodnota výsledných míst v každém řádku z 5 na 8 řádky ve sloupci G což je číslo sloupce 7 .Match(Cells(i, 6).Value, Range("D5:D10"), 0)
: Buňky lze přiřadit pomocí Zápas funkce (i, 6). Hodnoty hledají každou hodnotu Lookup nalezenou v řádcích 5 prostřednictvím 8 o 6. sloupec. Pak se hledá v poli D5:D10 na listu excelu, kde jsou k dispozici data.
Přečtěte si více: Vyhledání shodných hodnot ve dvou sloupcích aplikace Excel
Co je třeba mít na paměti
- Pokud typ shody chybí nebo není zadán, předpokládá se, že je to 1 .
- Pokud není zjištěna žádná shoda, bude související pole excelu prázdné.
- Hodnotou vyhledávání může být číselný, znakový nebo logický údaj nebo odkaz na buňku s množstvím, textem nebo logickým významem.
Závěr
Výše uvedené metody vám pomohou při porovnávání hodnot v rozsahu v Excelu VBA. Doufám, že vám to pomůže! Pokud máte nějaké dotazy, návrhy nebo zpětnou vazbu, dejte nám prosím vědět v sekci komentářů. Nebo se můžete podívat na naše další články v sekci ExcelWIKI.com blog!