Funkce hledání VBA | Jak používat funkci VBA Find? (Příklady)

Najít Excel VBA

Když použijeme Najít v normálním listu, stiskneme klávesovou zkratku CTRL + F a zadáme data, která potřebujeme najít, a pokud není požadovaná hodnota, přejdeme k další shodě, pokud je takových shod spousta, je to zdlouhavý úkol, ale když používáme FIND ve VBA, dělá to za nás a dává nám přesnou shodu a trvá tři argumenty, jeden je, co najít, kde najít a kde se podívat.

Než přejdeme k VBA a začneme používat funkci find v makrech, musíme se nejprve naučit, co je funkce find v aplikaci Excel. V normálním excelu na kartě Domů ve skupině úprav můžeme najít funkci hledání, která slouží k vyhledání řetězce nebo hodnoty v oblasti buněk nebo v celém listu.

Když na to klikneme, dostaneme dvě možnosti;

Jeden je snadné najít,

Vidíme, že má také režim možností, který otevírá další funkci.

Dělá vyhledávací algoritmus se čtyřmi omezeními, Najít co, Uvnitř, Hledat a hledat.

Druhou možností v aplikaci Excel je Najít a nahradit, které se používá, když najdeme řetězec, ale co jej nahradit jinou hodnotou,

Najděte syntaxi funkce

Naučili jsme se výše, co je Najít v základní aplikaci Excel. Ve VBA píšeme kódy ručně, ale funkce jsou stejné jako normální Excel. Nejprve se podívejme na syntaxi.

Expression.Find (What, lookin,….)

Pokud je hodnota, kterou hledáme, nalezena pomocí funkce Excel, vrátí buňku, kde je hodnota, a pokud hodnota není nalezena, pak je objekt funkce nastaven na nic.

Výrazy v makrech jsou definovány rozsahy, jako je rozsah 1 nebo rozsah 2. Co je klíčové slovo pro to, co chceme vyhledat konkrétní hodnotu? Lookin je klíčové slovo pro to, co se snažíme hledat, je to komentář nebo vzorec nebo řetězec. Podobně existují další omezení ve funkci Najít, která jsou volitelná. Jediné povinné pole, které je povinné, je hodnota, kterou se snažíme prohledávat.

VBA v zásadě zjistí, že Excel má jeden požadovaný argument, kterým je Jaká hodnota chceme hledat. Zbytek omezení je volitelný a ve funkci find existuje mnoho omezení. Funkce Najít je podobná funkci v aplikaci Excel.

Parametrem pro funkci hledání je rozsah buněk. Stejně jako v jakém rozsahu chceme najít hodnotu. Může to být několik sloupců nebo několik buněk nebo celý list.

Příklady

Tuto šablonu Excel funkce VBA FIND si můžete stáhnout zde - Šablona Excel funkce VBA FIND

Příklad č. 1

Předpokládejme, že naše data mají následující hodnoty

Pokusíme se najít „Arana“ ve stejných datech.

  • Chcete-li napsat kód VBA, je nutné mít v Excelu povolenou kartu vývojáře, abyste mohli psát kódy VBA.

  • Začneme psát náš kód napsáním následujícího kódu, jak je znázorněno níže,
Dílčí vzorek ()

Dim FindS As String

Dim Rng As Range

FindS = InputBox („Zadejte hodnotu, kterou chcete vyhledat“)

S listy („List1“). Rozsah („A: A“)

  • Ukázka je název funkce daný sub.
  • Najít je řetězec, který chceme prohledat od uživatele, kterého chceme zadat.
  • Rng je proměnná, kterou jsme vzali pro rozsah.
  • Nyní požádáme uživatele, aby zadal hodnotu, která vypadá jako snímek obrazovky níže,

  • Nyní v modulu definujeme naši vyhledávací funkci.

  • Funkce najde hodnotu zadanou uživatelem v daném rozsahu.
  • Nyní funkci zavřeme následujícími argumenty.

  • Nyní, když nejprve spustíme náš kód, požádá uživatele o výzvu k zadání hodnoty.

  • Jakmile je kód dokončen, vrátí buňku tam, kde byla nalezena data.

Příklad č. 2

Ve výše uvedeném příkladu byly čtyři jedinečné názvy, ale co kdyby v datech bylo více než jedno jméno, například zvažte níže uvedená data,

Vidíme, že jméno Aran se ve výše uvedených datech opakuje dvakrát. Pokud Excel musí najít jméno Aran, najde ho v buňce A2 a zastaví se, ale existuje další hodnota podobná hodnotě A2 v buňce A6. Jak načíst tuto hodnotu? Zde přichází syntaxe Find (What, After) v nápovědě.

After defines the cell after which reference we want to search the data.

Napíšeme kód pro výše uvedená data.

  • Vždy nezapomeňte povolit kartu vývojáře z možností a poté z přizpůsobení pásu karet v aplikaci Excel, aby bylo možné psát kód ve VBA.
  • Ve VBA dostáváme Microsoft Excel objekty, což je modul, do kterého zapisujeme kódy.

  • Dříve jsme pracovali na listu 1, nyní pracujeme na listu 2, takže vyberte list 2 pro jiný modul a zobrazí se prázdná stránka.

  • Nyní začněte psát kód tak, že nejprve definujete funkci jako SUB Sample2 () a stiskněte enter.

  • Nyní jsme definovali naši funkci, začneme se dostat do hlavní části, která definuje naše proměnné.

  • Definujte, co má mít proměnná Najít,

  • Vyberte listy, na kterých pracujeme, což je v tomto příkladu list 2,

  • Nyní najdeme text bez ohledu na to, co uživatel zadá za buňkou A2, takže definujeme naši vyhledávací funkci níže,

  • Nyní kód zavřeme ukončením podmínek with a if.

Výše uvedený kód dělá, je prohledat řetězec za buňkou A2 a vrátit buňku, kdekoli je nalezena.

Věci k zapamatování

  1. Nejprve musíme nejprve povolit kartu vývojáře, abychom mohli používat VBA.
  2. Jakou konkrétní hodnotu musíme najít?
  3. Pokud hodnota není nalezena, objekt funkce je nastaven na nic.