Funkcia hľadania VBA Ako používať funkciu VBA Find? (Príklady)

Nájsť Excel VBA

Keď použijeme Nájsť v normálnom pracovnom hárku, stlačíme klávesovú skratku CTRL + F a napíšeme údaje, ktoré musíme nájsť. Ak nie je požadovaná hodnota, prejdeme na ďalšiu zhodu, ak je takýchto zhôd veľa, je to zdĺhavá úloha, ale keď používame FIND vo VBA robí úlohy za nás a dáva nám presnú zhodu a to vyžaduje tri argumenty, jeden je čo nájsť, kde nájsť a kde sa pozrieť.

Predtým, ako sa presunieme do VBA a začneme používať funkciu find v makrách, musíme sa najskôr naučiť, čo je funkcia find v programe Excel. V normálnom exceli na karte Domov v skupine úprav nájdeme funkciu hľadania, ktorá slúži na nájdenie reťazca alebo hodnoty v rozsahu buniek alebo v celom pracovnom hárku.

Keď na to klikneme, dostaneme dve možnosti;

Jeden sa dá ľahko nájsť,

Vidíme, že má aj režim možností, ktorý otvára ďalšiu funkciu.

Robí vyhľadávací algoritmus so štyrmi obmedzeniami, Find What, Within, Search a look in.

Druhou možnosťou v programe Excel je Nájsť a nahradiť, ktoré sa použije, keď nájdeme reťazec, ale čo ho nahradiť akoukoľvek inou hodnotou,

Nájdite syntax funkcie

Vyššie sme sa dozvedeli, čo je Find in basic Excel. Vo VBA píšeme kódy ručne, ale funkcie sú rovnaké ako v bežnom programe Excel. Najprv sa pozrime na syntax.

Výraz. Nájsť (Čo, hľadám, ...)

Ak je hodnota, ktorú hľadáme, nájdená pomocou funkcie programu Excel, vráti bunku, kde je hodnota, a ak sa hodnota nenájde, objekt funkcie je nastavený na nič.

Výrazy v makrách sú rozsahy definované ako rozsah 1 alebo rozsah 2. Čo je kľúčové slovo pre to, čo chceme vyhľadať konkrétnu hodnotu? Hľadáme je kľúčové slovo pre to, čo sa snažíme vyhľadávať, je to komentár alebo vzorec alebo reťazec. Podobne existujú ďalšie obmedzenia vo funkcii Nájsť, ktoré sú voliteľné. Jediné povinné pole, ktoré je povinné, je hodnota, ktorú sa pokúšame vyhľadať.

VBA VBA v zásade zistí, že Excel má jeden požadovaný argument, ktorý predstavuje hodnotu v akej hodnote chceme hľadať. Ostatné obmedzenia sú voliteľné a vo funkcii find existuje veľa obmedzení. Funkcia Find je podobná funkcii find v programe Excel.

Parameter funkcie hľadania je rozsah buniek. Napríklad v akom rozsahu chceme nájsť hodnotu. Môže to byť niekoľko stĺpcov alebo niekoľko buniek alebo celý pracovný hárok.

Príklady

Túto šablónu programu VBA FIND Funkcia Excel si môžete stiahnuť tu - Šablóna VBA FIND Funkcia Excel

Príklad č

Predpokladajme, že naše údaje majú nasledujúce hodnoty

Pokúsime sa nájsť „Aran“ v rovnakých údajoch.

  • Na napísanie kódu VBA je potrebné mať v programe Excel povolenú kartu vývojára, aby bolo možné písať kódy VBA.

  • Začneme písať náš kód písaním nasledujúceho kódu, ako je uvedené nižšie,
Čiastková vzorka ()

Dim FindS As String

Dim Rng As Range

FindS = InputBox („Zadajte hodnotu, ktorú chcete vyhľadať“)

S hárkami („Hárok1“). Rozsah („A: A“)

  • Vzorka je názov funkcie daný sub.
  • Nájsť je reťazec, ktorý chceme vyhľadať od používateľa, ktorého chceme zadať.
  • Rng je premenná, ktorú sme vzali pre rozsah.
  • Teraz požiadame používateľa, aby zadal hodnotu, ktorá vyzerá ako snímka obrazovky nižšie,

  • Teraz si v module zadefinujeme našu funkciu hľadania.

  • Funkcia vyhľadá hodnotu zadanú používateľom v danom rozsahu.
  • Teraz funkciu uzavrieme nasledujúcimi argumentmi.

  • Ak teraz spustíme náš kód, požiada používateľa o zadanie hodnoty.

  • Po dokončení kódu vráti bunku tam, kde boli nájdené údaje.

Príklad č

Vo vyššie uvedenom príklade boli štyri jedinečné názvy, ale čo ak by v údajoch bolo viac ako jedno meno, napríklad vezmite do úvahy údaje uvedené nižšie,

Vidíme, že meno Aran sa vo vyššie uvedených údajoch opakuje dvakrát. Ak program Excel musí nájsť meno Aran, nájde ho v bunke A2 a zastaví sa, ale existuje iná hodnota podobná hodnote A2 v bunke A6. Ako načítať túto hodnotu? Tu prichádza na pomoc syntax hľadania (What, After).

Po definovaní bunky, po ktorej referencii chceme prehľadať údaje.

Napíšeme kód vyššie uvedených údajov.

  • Vždy nezabudnite povoliť kartu vývojára z možností a potom z prispôsobenia pásky v programe Excel, aby ste mohli napísať kód do VBA.
  • Vo VBA dostaneme Microsoft Excel objekty, čo je modul, do ktorého píšeme kódy.

  • Predtým sme pracovali na hárku 1, teraz pracujeme na hárku 2, takže vyberte hárok 2 pre iný modul a zobrazí sa prázdna stránka.

  • Teraz začnite písať kód tak, že najskôr definujete funkciu ako SUB Sample2 () a stlačte kláves Enter.

  • Teraz sme definovali našu funkciu, ktorú začneme dostávať do hlavnej časti, ktorá definuje naše premenné.

  • Definujte, čo má mať premenná Find,

  • Vyberte listy, na ktorých pracujeme, v tomto príklade je to list 2,

  • Teraz nájdeme text bez ohľadu na to, čo používateľ zadá za bunkou A2, takže našu funkciu hľadania definujeme nižšie,

  • Teraz kód zavrieme ukončením podmienok s a if.

Vyššie uvedený kód urobí, ak vyhľadá reťazec za bunkou A2 a vráti bunku, kdekoľvek sa nachádza.

Na čo treba pamätať

  1. Najskôr je potrebné povoliť kartu vývojára, aby sme mohli používať VBA.
  2. Aká je konkrétna hodnota, ktorú musíme nájsť?
  3. Ak sa hodnota nenájde, objekt funkcie sa nastaví na nič.