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á úkoly 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í aplikaci Excel na kartě Domů ve skupině úprav najdeme 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 hledaná hodnota 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, například 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 funkce find je rozsah buněk, například 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

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 aktivovanou záložku 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 ()
DimFindS jako řetězec
Dim Rng jako rozsah
FindS = InputBox („Zadejte hodnotu, kterou chcete prohledat“)
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í, pokud 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ě.

Poté, co definujeme buňku, po které odkaz, chceme prohledat 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, abyste mohli 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 funkci hledání, jak je uvedeno níže,
  • Nyní kód zavřeme ukončením podmínek with and 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 je třeba povolit kartu vývojáře, aby bylo možné používat VBA.
  2. Jakou konkrétní hodnotu musíme najít?
  3. Pokud hodnota není nalezena, objekt funkce je nastaven na nic.

Zajímavé články...