Ovdje ćete pronaći neke relativno jednostavne prilagođene funkcije Excel VBA radnog lista koje su također vrlo korisne. Te se funkcije nazivaju funkcije omota jer se sastoje od koda koji je omotan oko intrinzičnih VBA elemenata. Drugim riječima, omogućuju vam korištenje VBA funkcija u formulama radnog lista.
Funkcija korisnik()
' Vraća ime trenutnog korisnika
Korisnik = Application.UserName
Završna funkcija
Ova funkcija, u biti, omogućuje vašim formulama pristup svojstvu UserName objekta Application.
Funkcija NumberFormat
Ova funkcija jednostavno prikazuje format broja za ćeliju. Može biti korisno ako trebate osigurati da grupa ćelija ima isti format brojeva.
Funkcija NumberFormat (ćelija)
' Vraća format broja ćelije
Oblik broja = Cell(1).Oblik broja
Završna funkcija
Primjećujete upotrebu ćelije (1)? Ako se višećelijski raspon koristi kao argument, koristi se samo prva ćelija.
Možete jednostavno napisati slične funkcije koje vraćaju boju teksta ćelije, boju pozadine, font i tako dalje.
Funkcija ExtractElement
Ova funkcija omota vraća podniz iz tekstualnog niza koji sadrži više elemenata, odvojenih znakom za razdvajanje. Na primjer, ova formula vraća kravu, koja je treći element u nizu koji koristi razmak kao separator. Argumenti, naravno, mogu biti reference na ćelije.
=ExtractElement(“pas konj krava mačka”, 3, “ “)
Evo koda, koji je omot za VBA-ovu Split funkciju:
Funkcija ExtractElement(Txt, n, ruj)
' Vraća n-ti element tekstualnog niza, gdje je
' elementi su odvojeni određenim znakom za razdvajanje
ExtractElement = Split(Application.Trim(Txt), Sep)(n - 1)
Završna funkcija
Slika ispod prikazuje funkciju ExtractElement koja se koristi u formulama radnog lista. Stupac A sadrži tekstualni niz, stupac B sadrži broj elementa koji treba izdvojiti, a stupac C sadrži graničnik (ćelije koje izgledaju kao prazne sadrže znak za razmak).
Korištenje funkcije ExtractElement za vraćanje elementa iz niza.
Funkcija SayIt
Ova jednostavna funkcija je omot za metodu Speak objekta Application.Speech. Koristi sintetizirani glas da "izgovara" argument.
Funkcija SayIt(txt)
' Izgovara argument
Application.Speech.Speak txt, True
Završna funkcija
Evo primjera:
=IF(C10>10000,SayIt("Preko proračuna"),"OK")
Formula provjerava ćeliju C10. Ako je vrijednost veća od 10.000, funkcija izgovara tekst: "Preko proračuna". Ako je vrijednost manja od 10.000, funkcija prikazuje tekst OK (i ne kaže ništa).
Koristite štedljivo. Ako ovu funkciju koristite više puta, može biti vrlo zbunjujuće. Također, zapamtite da se ova funkcija ocjenjuje svaki put kada se radni list izračunava, tako da glas može biti jako neugodan ako unosite mnogo promjena. Ova je funkcija vjerojatno prikladnija za zabavne svrhe.
Funkcija IsLike
VBA-ov Like operator je vrlo fleksibilan način za usporedbu tekstualnih nizova. Provjerite to u VBA sustavu pomoći. Ova funkcija donosi tu moć formulama vašeg radnog lista:
Funkcija IsLike (tekst, uzorak)
' Vraća true ako je prvi argument sličan drugom
IsLike = tekst Like uzorak
Završna funkcija