Tu nájdete niekoľko relatívne jednoduchých vlastných funkcií pracovného hárka Excel VBA, ktoré sú tiež veľmi užitočné. Tieto funkcie sa nazývajú obalové funkcie, pretože pozostávajú z kódu, ktorý je zabalený okolo vnútorných prvkov VBA. Inými slovami, umožňujú vám používať funkcie VBA vo vzorcoch pracovného hárka.
Používateľ funkcie ()
' Vráti meno aktuálneho používateľa
Používateľ = Application.UserName
End Function
Táto funkcia v podstate umožňuje vašim vzorcom pristupovať k vlastnosti UserName objektu Application.
Funkcia NumberFormat
Táto funkcia jednoducho zobrazí formát čísla bunky. Môže to byť užitočné, ak potrebujete zabezpečiť, aby všetky skupiny buniek mali rovnaký číselný formát.
Formát čísla funkcie (bunka)
' Vráti formát čísla bunky
NumberFormat = Bunka(1).Formát čísla
End Function
Všimli ste si použitie bunky (1)? Ak sa ako argument použije rozsah viacerých buniek, použije sa iba prvá bunka.
Môžete jednoducho napísať podobné funkcie, ktoré vrátia farbu textu bunky, farbu pozadia, písmo atď.
Funkcia ExtractElement
Táto funkcia wrapper vracia podreťazec z textového reťazca, ktorý obsahuje viacero prvkov oddelených oddeľovacím znakom. Napríklad tento vzorec vráti kravu, čo je tretí prvok v reťazci, ktorý používa medzeru ako oddeľovač. Argumentmi môžu byť samozrejme odkazy na bunky.
=ExtractElement("pes kôň krava mačka", 3, "")
Tu je kód, ktorý je obalom pre funkciu Split VBA:
Funkcia ExtrahovaťPrvok(Txt, n, Sep)
' Vráti n-tý prvok textového reťazca, kde je
' prvky sú oddelené špecifikovaným oddeľovacím znakom
ExtractElement = Split(Application.Trim(Txt), Sep)(n - 1)
End Function
Obrázok nižšie zobrazuje funkciu ExtractElement používanú vo vzorcoch pracovného hárka. Stĺpec A obsahuje textový reťazec, stĺpec B obsahuje číslo prvku, ktorý sa má extrahovať, a stĺpec C obsahuje oddeľovač (bunky, ktoré sa zdajú byť prázdne, obsahujú medzeru).
Použitie funkcie ExtractElement na vrátenie prvku z reťazca.
Funkcia SayIt
Táto jednoduchá funkcia je obalom pre metódu Speak objektu Application.Speech. Na „hovorenie“ argumentu používa syntetizovaný hlas.
Funkcia SayIt(txt)
“ Hovorí argument
Application.Speech.Speak txt, pravda
End Function
Tu je príklad:
=IF(C10>10000,SayIt(“Over budget”),”OK”)
Vzorec kontroluje bunku C10. Ak je hodnota väčšia ako 10 000, funkcia vysloví text: „Nad rozpočet“. Ak je hodnota menšia ako 10 000, funkcia zobrazí text OK (a nič nehovorí).
Používajte striedmo. Ak túto funkciu použijete viackrát, môže to byť veľmi mätúce. Pamätajte tiež, že táto funkcia sa vyhodnocuje pri každom výpočte pracovného hárka, takže hlas môže byť veľmi nepríjemný, ak robíte veľa zmien. Táto funkcia je pravdepodobne vhodnejšia na zábavné účely.
Funkcia IsLike
Operátor Like VBA je veľmi flexibilný spôsob porovnávania textových reťazcov. Pozrite si to v systéme pomocníka VBA. Táto funkcia prináša túto silu do vzorcov pracovného hárka:
Funkcia IsLike(text, vzor)
' Vráti hodnotu true, ak je prvý argument ako druhý
IsLike = vzor textu Páči sa mi
End Function