Her finner du noen relativt enkle tilpassede Excel VBA-regnearkfunksjoner som også er svært nyttige. Disse funksjonene kalles wrapper-funksjoner fordi de består av kode som er pakket rundt iboende VBA-elementer. Med andre ord lar de deg bruke VBA-funksjoner i regnearkformler.
Funksjon Bruker()
' Returnerer navnet på gjeldende bruker
Bruker = Application.UserName
Avslutt funksjon
Denne funksjonen lar i hovedsak formlene dine få tilgang til UserName-egenskapen til Application-objektet.
NumberFormat-funksjonen
Denne funksjonen viser ganske enkelt tallformatet for en celle. Det kan være nyttig hvis du må sørge for at en gruppe celler alle har samme tallformat.
Funksjon NumberFormat (celle)
' Returnerer cellens tallformat
NumberFormat = Celle(1). NumberFormat
Avslutt funksjon
Legger du merke til bruken av celle (1)? Hvis et flercelleområde brukes som argument, brukes bare den første cellen.
Du kan enkelt skrive lignende funksjoner som returnerer en celles tekstfarge, bakgrunnsfarge, font og så videre.
ExtractElement-funksjonen
Denne innpakningsfunksjonen returnerer en delstreng fra en tekststreng som inneholder flere elementer, atskilt med et skilletegn. For eksempel returnerer denne formelen cow, som er det tredje elementet i en streng som bruker et mellomrom som skilletegn. Argumentene kan selvfølgelig være cellereferanser.
=ExtractElement(“hundhest kukatt”, 3, ““)
Her er koden, som er en innpakning for VBAs Split-funksjon:
Funksjon ExtractElement(Txt, n, Sep)
' Returnerer det n-te elementet i en tekststreng, der
'-elementer er atskilt med et spesifisert skilletegn
ExtractElement = Split(Application.Trim(Txt), Sep)(n - 1)
Avslutt funksjon
Bildet nedenfor viser ExtractElement-funksjonen som brukes i regnearkformler. Kolonne A inneholder tekststrengen, kolonne B inneholder elementnummeret som skal trekkes ut, og kolonne C inneholder skilletegnet (celler som ser ut til å være tomme inneholder et mellomromstegn).
Bruk av ExtractElement-funksjonen for å returnere et element fra en streng.
SayIt-funksjonen
Denne enkle funksjonen er en innpakning for Speak-metoden til Application.Speech-objektet. Den bruker en syntetisert stemme for å "snakke" argumentet.
Funksjon SayIt(txt)
' Sier argumentet
Application.Speech.Speak txt, sant
Avslutt funksjon
Her er et eksempel:
=IF(C10>10000,SiDet(“Over budsjett”),,”OK”)
Formelen kontrollerer celle C10. Hvis verdien er større enn 10 000, sier funksjonen opp teksten: «Over budsjett». Hvis verdien er mindre enn 10 000, viser funksjonen teksten OK (og sier ingenting).
Bruk med måte. Hvis du bruker denne funksjonen mer enn én gang, kan det være veldig forvirrende. Husk også at denne funksjonen blir evaluert hver gang regnearket beregnes, så stemmen kan bli veldig irriterende hvis du gjør mange endringer. Denne funksjonen er sannsynligvis mer egnet for underholdningsformål.
IsLike-funksjonen
VBAs Like-operator er en veldig fleksibel måte å sammenligne tekststrenger på. Sjekk det ut i VBA-hjelpesystemet. Denne funksjonen gir den kraften til regnearkformlene dine:
Funksjon ErLike(tekst, mønster)
' Returnerer sant hvis det første argumentet er som det andre
IsLike = tekst Liker mønster
Avslutt funksjon