Dialogboksen Indsæt funktion er et praktisk Excel-værktøj, der lader dig vælge en VBA-regnearksfunktion fra en liste og beder dig om funktionens argumenter. Dine brugerdefinerede regnearksfunktioner vises også i dialogboksen Indsæt funktion. Brugerdefinerede funktioner vises i kategorien Brugerdefineret.
Funktionsprocedurer, der er defineret med det private nøgleord, vises ikke i dialogboksen Indsæt funktion. Derfor, hvis du skriver en funktionsprocedure, der er designet til kun at blive brugt af andre VBA-procedurer (men ikke i formler), skal du erklære funktionen som privat.
Viser funktionsbeskrivelsen
Dialogboksen Indsæt funktion viser en beskrivelse af hver indbyggede funktion. Men som du kan se, viser en brugerdefineret funktion følgende tekst som sin beskrivelse: Ingen hjælp tilgængelig.
Som standard giver dialogboksen Indsæt funktion ikke en beskrivelse af brugerdefinerede funktioner.
For at vise en meningsfuld beskrivelse af din brugerdefinerede funktion i dialogboksen Indsæt funktion skal du udføre et par ekstra (ikke-intuitive) trin:
Aktiver et regneark i projektmappen, der indeholder den brugerdefinerede funktion.
Vælg Udvikler → Kode → Makroer (eller tryk på Alt+F8).
Dialogboksen Makro vises.
Indtast funktionens navn i feltet Makronavn.
Bemærk, at funktionen ikke vises på listen over makroer; du skal indtaste navnet.
Klik på knappen Indstillinger.
Dialogboksen Makroindstillinger vises.
Indtast en beskrivelse af funktionen i feltet Beskrivelse.
Klik på OK.
Klik på Annuller.
Nu viser dialogboksen Indsæt funktion beskrivelsen af din funktion.
Den brugerdefinerede funktion viser nu en beskrivelse.
Brugerdefinerede funktioner er som standard angivet i kategorien Brugerdefineret. For at tilføje en funktion til en anden kategori, skal du bruge VBA. Denne sætning, når den udføres, tilføjer TopAvg-funktionen til Math & Trig-kategorien (som er kategori 3):
Application.MacroOptions Macro:=“TopAvg”, Kategori:=3
Tjek hjælpesystemet for andre kategorinumre.
Du behøver kun at udføre denne erklæring én gang. Når du har udført det (og gemt projektmappen), er kategorinummeret permanent tildelt funktionen.
Tilføjelse af argumentbeskrivelser
Når du får adgang til en indbygget funktion fra dialogboksen Indsæt funktion, viser dialogboksen Funktionsargumenter beskrivelser af argumenterne.
Som standard viser dialogboksen Funktionsargumenter kun funktionsargumentbeskrivelser for indbyggede funktioner.
Tidligere var det ikke muligt at tilføje argumentbeskrivelser. Men begyndende med Excel 2010 implementerede Microsoft endelig denne funktion. Du giver argumentbeskrivelser ved at bruge MacroOptions-metoden. Her er et eksempel, der tilføjer beskrivelser af de argumenter, der bruges af TopAvg-funktionen:
Sub AddArgumentDescriptions()
Application.MacroOptions Macro:=“TopAvg”, _
Argumentbeskrivelser:= _
Array("Range, der indeholder værdierne", _
"Antal værdier til gennemsnit")
Slut Sub
Du behøver kun at udføre denne procedure én gang. Når du har udført det, gemmes argumentbeskrivelserne i projektmappen og er knyttet til funktionen.
Bemærk, at argumentbeskrivelserne vises som argumenter for Array-funktionen. Du skal bruge Array-funktionen, selvom du tildeler en beskrivelse til en funktion, der kun har ét argument.