Funkce hledání Excel VBA

Kdo nezná výbornou metodu FIND? Jsem si jistý, že každý ví, kdo jedná s vynikajícími pracovními listy. NAJÍT nebo populární klávesovou zkratku Ctrl + F najde slovo nebo obsah, který hledáte, v celém pracovním listu i v celém sešitu. Když řeknete najít, znamená to, že jste našli v buňkách nebo rozsazích, že? Ano, správná metoda hledání je součástí buněk nebo rozsahů ve Excelu i ve VBA.

Podobně máme ve VBA Find možnost nazvanou FIND function, která nám může pomoci najít hodnotu, kterou hledáme. V tomto článku vás provedu metodikou FIND ve VBA.

Vzorec k nalezení funkce v Excelu VBA

V běžném pracovním listu Excelu jednoduše zadáme klávesovou zkratku Ctrl + F, abychom našli obsah. Ve VBA však musíme napsat funkci, abychom našli hledaný obsah. Dobře, podívejme se na syntaxi FIND.

Vím, co se děje ve vaší mysli, jste ztraceni při pohledu na tuto syntaxi a nerozumíte nic. Ale nic, čeho by se bát, než vám vysvětlím syntax, dovolte mi, abych vás představil do běžného vyhledávacího pole.

Pokud si všimnete, co je v běžné Ctrl + F, vše je také v syntaxi VBA Find. Nyní se podívejme na to, o čem každé slovo v syntaxi říká.

Co: Jednoduše to, co hledáte. Zde musíme uvést obsah, který hledáme.

Po: Po které buňce chcete hledat.

LookIn: Kde hledat hledanou věc, například vzorce, hodnoty nebo komentáře. Parametry jsou xlFormulas, xlValues, xlComments.

LookAt: Ať už hledáte celý obsah nebo pouze jeho část. Parametry jsou xlWhole, xlPart.

SearchOrder: Hledáte v řádcích nebo sloupcích. xlByRows nebo xlByColumns.

SearchDirection: Díváte se na další buňku nebo předchozí buňku. xlDalší, xlPředchozí.

MatchCase: Hledaný obsah rozlišuje velká a malá písmena. Pravda nebo lež.

MatchByte: Toto je pouze pro dvoubajtové jazyky. Pravda nebo lež.

SearchFormat: Hledáte formátováním. Pokud hledáte formát, musíte použít metodu Application.FindFormat .

Toto je vysvětlení syntaxe metody VBA FIND. Kromě prvního parametru je vše volitelné. V sekci příklady uvidíme, jak používat tuto metodu FIND v kódování VBA.

Jak používat funkci Najít Excel VBA?

Naučíme se, jak používat funkci VBA Find Excel s několika příklady.

Tuto šablonu VBA Find Excel si můžete stáhnout zde - VBA Najít šablonu Excel

Funkce hledání VBA - Příklad č. 1

Nejprve vám dovolím vysvětlit vám jednoduchý příklad použití FIND vlastnosti a najít obsah, který hledáme. Předpokládejme, že níže jsou údaje, které máte ve svém Excelu.

Krok 1: Z toho chci najít jméno John, pojďme otevřít Visual Basic a začít kódování.

Kód:

 Sub Find_Ex1 () End Sub 

Krok 2: Zde nemůžete spustit slovo FIND, protože FIND je součástí vlastnosti RANGE. Nejprve tedy musíme zmínit, kde hledáme, tj. Range.

Krok 3: Nejprve tedy uveďte rozsah, kde hledáme. V našem příkladu je náš rozsah od B2 do B11.

Kód:

 Sub Find_Ex1 () Range ("B2: B11") End Sub 

Krok 4: Po uvedení rozsahu zadejte tečku (.) A napište FIND. Musíte vidět NAJÍT vlastnost.

Krok 5: Vyberte vlastnost Najít a otevřete závorku.

Krok 6: Náš první argument je to, co hledáme. Abychom zdůraznili argument, můžeme tento argument předat jako What: =, to by bylo užitečné určit, na který parametr se odkazujeme.

Kód:

 Rozsah Sub Find_Ex1 () ("B2: B11"). Find (What: = "John") End Sub 

Krok 7: Poslední část je po nalezení slova, co chceme dělat. Musíme vybrat slovo, takže předejte argument jako. Vyberte .

Kód:

 Rozsah Sub Find_Ex1 () ("B2: B11"). Find (What: = "John"). Vyberte End Sub 

Krok 8: Potom spusťte tento kód pomocí klávesy F5 nebo ručně, jak je znázorněno na obrázku, takže by vybral první nalezené slovo Johnson, které obsahuje slovo, John.

Funkce hledání VBA - Příklad č. 2

Nyní vám ukážu, jak najít komentářové slovo pomocí metody find. Mám data a ve třech buňkách mám komentář.

Buňky, které mají červenou vlajku, obsahují komentáře. Z tohoto komentáře chci prohledat slovo „Bez provize“.

Krok 1: Spusťte kód uvedením rozsahu („D2: D11“) a vložte tečku (.) A zadejte Find

Kód:

 Rozsah Sub Find_Ex2 () ("D2: D11"). Find (End Sub 

Krok 2: Do argumentu WHAT napište slovo „No Commission“.

Kód:

 Sub Find_Ex2 () Range ("D2: D11"). Find (What: = "No Commission", End Sub 

Krok 3: Ignorujte část After a vyberte součást LookIn. V části LookIn toto slovo prohledáváme v komentářích, takže vyberte xlComments a poté předejte argument jako .Select

Kód:

 Sub Find_Ex2 () Range ("D2: D11"). Find (What: = "No Commission", LookIn: = xlComments) .Vyberte End Sub 

Krok 4: Nyní spusťte tento kód pomocí klávesy F5 nebo ručně, jak je znázorněno na obrázku, takže vybere buňku, která má komentář „Bez provize“. V buňce D9 máme zmíněný komentář.

Řešení chybových hodnot v Excel VBA Find

Pokud hledané slovo nenajde v rozsahu, dodali jsme kód VBA, který vrátí chybu jako je tato.

Abychom ukázali uživateli, že hledaná hodnota není k dispozici, potřebujeme níže uvedený kód.

Pokud výše nalezená hodnota kódu zobrazí hodnotu a adresu buňky nebo jinak zobrazí zprávu jako „ Hodnota, kterou hledáte, není v dodaném rozsahu k dispozici !!!“.

Co si pamatovat

  • VBA FIND je součástí vlastnosti RANGE a FIND musíte použít pouze po výběru rozsahu.
  • V FIND je první parametr povinný (Co) kromě toho vše ostatní je volitelné.
  • Pokud najdete hodnotu za konkrétní buňkou, můžete ji uvést v parametru After syntaxe Najít.

Doporučené články

Toto byl průvodce funkcí hledání VBA. Zde jsme diskutovali VBA Find a jak používat Excel VBA Find Function spolu s některými praktickými příklady a stahovatelnou Excel šablonou. Můžete si také prohlédnout naše další doporučené články -

  1. Najít funkci v Excelu
  2. Funkce VBA v Excelu
  3. Průvodce rozsahem v Excelu
  4. Jak používat funkci VBA VLOOKUP?

Kategorie: