Här hittar du några relativt enkla anpassade Excel VBA-kalkylbladsfunktioner som också är mycket användbara. Dessa funktioner kallas omslagsfunktioner eftersom de består av kod som är lindad runt inneboende VBA-element. Med andra ord låter de dig använda VBA-funktioner i kalkylbladsformler.
Funktion User()
' Returnerar namnet på den aktuella användaren
Användare = Application.UserName
Avsluta funktion
Denna funktion låter i huvudsak dina formler komma åt egenskapen UserName för Application-objektet.
NumberFormat-funktionen
Denna funktion visar helt enkelt talformatet för en cell. Det kan vara användbart om du behöver se till att en grupp celler alla har samma talformat.
Funktion NumberFormat(Cell)
' Returnerar cellens talformat
NumberFormat = Cell(1).NumberFormat
Avsluta funktion
Lägger du märke till användningen av cell (1)? Om ett flercellsområde används som argument används endast den första cellen.
Du kan enkelt skriva liknande funktioner som returnerar en cells textfärg, bakgrundsfärg, teckensnitt och så vidare.
ExtractElement-funktionen
Denna omslagsfunktion returnerar en delsträng från en textsträng som innehåller flera element, åtskilda av ett separatortecken. Till exempel returnerar den här formeln ko, som är det tredje elementet i en sträng som använder ett mellanslag som avgränsare. Argumenten kan naturligtvis vara cellreferenser.
=ExtractElement(“hundhäst ko katt”, 3, “”)
Här är koden, som är ett omslag för VBA:s Split-funktion:
Funktion ExtractElement(Txt, n, Sep)
' Returnerar det n:te elementet i en textsträng, där
' element separeras med ett specificerat avgränsningstecken
ExtractElement = Split(Application.Trim(Txt), Sep)(n - 1)
Avsluta funktion
Bilden nedan visar ExtractElement-funktionen som används i kalkylbladsformler. Kolumn A innehåller textsträngen, kolumn B innehåller elementnumret som ska extraheras och kolumn C innehåller avgränsaren (celler som verkar vara tomma innehåller ett blanksteg).
Använda funktionen ExtractElement för att returnera ett element från en sträng.
SayIt-funktionen
Denna enkla funktion är ett omslag för Speak-metoden för Application.Speech-objektet. Den använder en syntetiserad röst för att "tala" argumentet.
Funktion SayIt(txt)
' Säger argumentet
Application.Speech.Speak txt, sant
Avsluta funktion
Här är ett exempel:
=OM(C10>10000,Säg Det(“Över budget”),,”OK”)
Formeln kontrollerar cell C10. Om värdet är större än 10 000 läser funktionen upp texten: "Över budget." Om värdet är mindre än 10 000 visar funktionen texten OK (och säger ingenting).
Använd sparsamt. Om du använder den här funktionen mer än en gång kan det vara mycket förvirrande. Kom också ihåg att den här funktionen utvärderas varje gång arbetsbladet beräknas, så rösten kan bli väldigt irriterande om du gör många ändringar. Denna funktion är förmodligen mer lämpad för nöjesändamål.
IsLike-funktionen
VBA:s Like-operator är ett mycket flexibelt sätt att jämföra textsträngar. Kolla in det i VBAs hjälpsystem. Den här funktionen ger den kraften till dina kalkylbladsformler:
Funktionen är som (text, mönster)
' Returnerar sant om det första argumentet är som det andra
IsLike = text Gilla mönster
Avsluta funktion