Excel VBA pro porovnání hodnot v rozsahu (3 příklady)

  • Sdílet Toto
Hugh West

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!

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.