Her finder du nogle relativt simple brugerdefinerede Excel VBA-regnearkfunktioner, som også er meget nyttige. Disse funktioner kaldes wrapper-funktioner, fordi de består af kode, der er pakket rundt om iboende VBA-elementer. Med andre ord giver de dig mulighed for at bruge VBA-funktioner i regnearksformler.
Funktion Bruger()
' Returnerer navnet på den aktuelle bruger
Bruger = Application.UserName
Afslut funktion
Denne funktion giver i bund og grund dine formler adgang til egenskaben UserName for Application-objektet.
NumberFormat-funktionen
Denne funktion viser blot talformatet for en celle. Det kan være nyttigt, hvis du skal sikre dig, at en gruppe celler alle har samme talformat.
Funktion nummerformat (celle)
' Returnerer cellens talformat
NummerFormat = Celle(1). NummerFormat
Afslut funktion
Læg mærke til brugen af celle (1)? Hvis et multicelleområde bruges som argument, bruges kun den første celle.
Du kan nemt skrive lignende funktioner, der returnerer en celles tekstfarve, baggrundsfarve, skrifttype og så videre.
ExtractElement-funktionen
Denne indpakningsfunktion returnerer en understreng fra en tekststreng, der indeholder flere elementer, adskilt af et separatortegn. For eksempel returnerer denne formel ko, som er det tredje element i en streng, der bruger et mellemrum som separator. Argumenterne kunne selvfølgelig være cellereferencer.
=ExtractElement("hundehest ko kat", 3, " ")
Her er koden, som er en indpakning til VBA's Split-funktion:
Funktion ExtractElement(Txt, n, Sep)
' Returnerer det n'te element i en tekststreng, hvor
' elementer er adskilt af et specificeret skilletegn
ExtractElement = Split(Application.Trim(Txt), Sep)(n - 1)
Afslut funktion
Billedet nedenfor viser ExtractElement-funktionen, der bruges i regnearksformler. Kolonne A indeholder tekststrengen, kolonne B indeholder elementnummeret, der skal udtrækkes, og kolonne C indeholder afgrænsningstegnet (celler, der ser ud til at være tomme, indeholder et mellemrum).
Brug af ExtractElement-funktionen til at returnere et element fra en streng.
SayIt-funktionen
Denne enkle funktion er en indpakning for Speak-metoden for Application.Speech-objektet. Den bruger en syntetiseret stemme til at "tale" argumentet.
Funktion SayIt(txt)
' Udtaler argumentet
Application.Speech.Speak txt, sandt
Afslut funktion
Her er et eksempel:
=HVIS(C10>10000,SigDet("Over budget"),"OK")
Formlen kontrollerer celle C10. Hvis værdien er større end 10.000, taler funktionen teksten: "Over budget." Hvis værdien er mindre end 10.000, viser funktionen teksten OK (og siger ikke noget).
Brug sparsomt. Hvis du bruger denne funktion mere end én gang, kan det være meget forvirrende. Husk også, at denne funktion evalueres hver gang arbejdsarket beregnes, så stemmen kan blive meget irriterende, hvis du laver mange ændringer. Denne funktion er sandsynligvis mere velegnet til underholdningsformål.
IsLike-funktionen
VBAs Like-operator er en meget fleksibel måde at sammenligne tekststrenge på. Tjek det ud i VBA-hjælpesystemet. Denne funktion bringer den kraft til dine regnearksformler:
Funktion ErLike(tekst, mønster)
' Returnerer sandt, hvis det første argument er ligesom det andet
IsLike = tekst Like mønster
Afslut funktion