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 únavná úloha, ale 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 prejdeme na 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 nájdeme na karte Domov v editovacej skupine 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 manuálne, 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, potom je objekt funkcie nastavený na nič.

Výrazy v makrách sú definované rozsahy, napríklad rozsah 1 alebo rozsah 2. Čo je kľúčové slovo pre to, čo chceme hľadať v konkrétnej hodnote? Hľadáme je kľúčové slovo pre to, čo sa snažíme hľadať, 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, a to Akú hodnotu chceme prehľadať. Ostatné obmedzenia sú voliteľné a vo funkcii find je veľa obmedzení. Funkcia Find je podobná funkcii find v programe Excel.

Parameterom pre funkciu nájdenia 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

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ár, 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,
Sub Sample ()
DimFindS As String
Dim Rng As Range
FindS = InputBox („Zadajte hodnotu, ktorú chcete vyhľadať“)
S hárkami („Sheet1“). 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.

  • Nezabudnite vždy 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, kde píšeme kódy.
  • Predtým sme pracovali na liste 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; začneme sa 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č.

Zaujímavé články...