Sådan udføres VBA-funktionsprocedurer i Excel 2016

I VBA-programmering returnerer en funktion en værdi. Du kan udføre funktionsprocedurer og kalde funktionen i Excel 2016. Funktioner kan i modsætning til underprocedurer kun udføres på to måder:

  • Ved at kalde funktionen fra en anden underprocedure eller funktionsprocedure

  • Ved at bruge funktionen i en regnearksformel

Prøv denne simple funktion. Indtast det i et VBA-modul:

Funktion CubeRoot (nummer)
  CubeRoot = tal ^ (1/3)
Afslut funktion

Denne funktion er ret skør; den beregner blot terningroden af ​​det tal, der sendes til den som argument. Det giver dog et udgangspunkt for at forstå funktioner. Det illustrerer også et vigtigt koncept om funktioner: hvordan man returnerer værdien. (Du kan huske, at en funktion returnerer en værdi, ikke?)

Bemærk, at den enkelte kodelinje, der udgør denne funktionsprocedure, udfører en beregning. Resultatet af matematikken (tal i potensen 1/3) tildeles variablen CubeRoot. Ikke tilfældigt er CubeRoot også navnet på funktionen. For at fortælle funktionen, hvilken værdi der skal returneres, tildeler du denne værdi til navnet på funktionen.

Kaldning af funktionen fra en underprocedure

Fordi du ikke kan udføre en funktion direkte, skal du kalde den fra en anden procedure. Indtast følgende simple procedure i det samme VBA-modul, som indeholder CubeRoot-funktionen:

Sub CallerSub()
  Ans = CubeRoot(125)
  MsgBox Ans
Slut Sub

Når du udfører CallerSub-proceduren, viser Excel en meddelelsesboks, der indeholder værdien af ​​Ans-variablen, som er 5.

Her er, hvad der sker: CubeRoot-funktionen udføres, og den modtager et argument på 125. Beregningen udføres af funktionens kode (ved hjælp af den værdi, der sendes som et argument), og funktionens returnerede værdi tildeles Ans-variablen. MsgBox-funktionen viser derefter værdien af ​​Ans-variablen.

Prøv at ændre argumentet, der er sendt til CubeRoot-funktionen, og kør CallerSub-makroen igen. Det fungerer lige som det skal - forudsat at du giver funktionen et gyldigt argument (et positivt tal).

CallerSub-proceduren kunne i øvrigt forenkles en smule. Ans-variablen er egentlig ikke påkrævet, medmindre din kode vil bruge den variabel senere. Du kan bruge denne enkelte sætning til at opnå det samme resultat:

  MsgBox CubeRoot(125)

Kaldning af en funktion fra en regnearksformel

Nu er det tid til at kalde denne VBA-funktionsprocedure fra en regnearksformel. Aktiver et regneark i den samme projektmappe, der indeholder CubeRoot-funktionsdefinitionen. Indtast derefter følgende formel i en hvilken som helst celle:

=CubeRoot(1728)

Cellen viser 12, som faktisk er terningroden af ​​1.728.

Som du måske forventer, kan du bruge en cellereference som argument for CubeRoot-funktionen. For eksempel, hvis celle A1 indeholder en værdi, kan du indtaste =CubeRoot(A1) . I dette tilfælde returnerer funktionen tallet opnået ved at beregne terningroden af ​​værdien i A1.

Du kan bruge denne funktion et vilkårligt antal gange i arbejdsarket. Ligesom Excels indbyggede funktioner vises dine brugerdefinerede funktioner i dialogboksen Indsæt funktion. Klik på knappen Indsæt funktion på værktøjslinjen, og vælg kategorien Brugerdefineret. Dialogboksen Indsæt funktion viser din helt egen funktion.

Sådan udføres VBA-funktionsprocedurer i Excel 2016

CubeRoot-funktionen vises i kategorien Brugerdefineret i dialogboksen Indsæt funktion.

Hvis du ønsker, at dialogboksen Indsæt funktion skal vise en beskrivelse af funktionen, skal du følge disse trin:

Vælg Udvikler → Kode → Makroer.

Excel viser Macro-dialogboksen, men CubeRoot vises ikke på listen. (CubeRoot er en funktionsprocedure, og denne liste viser kun underprocedurer.) Bliv ikke bekymret.

Skriv ordet CubeRoot i feltet Makronavn.

Klik på knappen Indstillinger.

Indtast en beskrivelse af funktionen i boksen Beskrivelse.

Klik på OK for at lukke dialogboksen Makroindstillinger.

Luk Macro-dialogboksen ved at klikke på knappen Annuller.

Denne beskrivende tekst vises nu i dialogboksen Indsæt funktion.

Tjek CubeRoot-funktionen, der bruges i regnearksformler.

Sådan udføres VBA-funktionsprocedurer i Excel 2016

Brug af CubeRoot-funktionen i formler.


Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows

Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows

Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows Microsoft Word åbner filer i skrivebeskyttet tilstand, hvilket gør det umuligt at redigere det? Bare rolig, metoderne er nedenfor

Sådan rettes forkert udskrivning af Microsoft Word-dokumenter

Sådan rettes forkert udskrivning af Microsoft Word-dokumenter

Sådan rettes fejl ved udskrivning af forkerte Microsoft Word-dokumenter Fejl ved udskrivning af Word-dokumenter med ændrede skrifttyper, rodede afsnit, manglende tekst eller tabt indhold er ret almindelige. Men lad være

Slet pen- og highlighter-tegninger på dine PowerPoint-dias

Slet pen- og highlighter-tegninger på dine PowerPoint-dias

Hvis du har brugt pennen eller highlighteren til at tegne på dine PowerPoint-dias under en præsentation, kan du gemme tegningerne til næste præsentation eller slette dem, så næste gang du viser den, starter du med rene PowerPoint-dias. Følg disse instruktioner for at slette pen- og highlighter-tegninger: Sletning af linjer en ved […]

Indhold af stilbibliotek i SharePoint 2010

Indhold af stilbibliotek i SharePoint 2010

Style-biblioteket indeholder CSS-filer, Extensible Stylesheet Language-filer (XSL) og billeder, der bruges af foruddefinerede mastersider, sidelayouts og kontrolelementer i SharePoint 2010. For at finde CSS-filer i Style-biblioteket på et udgivelsessted: Vælg Site Actions→ View Alt webstedsindhold. Indholdet af webstedet vises. Style-biblioteket ligger i […]

Formater tal i tusinder og millioner i Excel-rapporter

Formater tal i tusinder og millioner i Excel-rapporter

Overvæld ikke dit publikum med gigantiske tal. I Microsoft Excel kan du forbedre læsbarheden af ​​dine dashboards og rapporter ved at formatere dine tal, så de vises i tusinder eller millioner.

Sådan deler og følger du SharePoint-websteder

Sådan deler og følger du SharePoint-websteder

Lær, hvordan du bruger SharePoints sociale netværksværktøjer, der lader enkeltpersoner og grupper kommunikere, samarbejde, dele og forbinde.

Sådan konverteres datoer til julianske formater i Excel

Sådan konverteres datoer til julianske formater i Excel

Julianske datoer bruges ofte i produktionsmiljøer som et tidsstempel og hurtig reference for et batchnummer. Denne type datokodning giver detailhandlere, forbrugere og serviceagenter mulighed for at identificere, hvornår et produkt blev fremstillet, og dermed produktets alder. Julianske datoer bruges også i programmering, militæret og astronomi. Forskellige […]

Sådan opretter du en Access Web App

Sådan opretter du en Access Web App

Du kan oprette en webapp i Access 2016. Så hvad er en webapp overhovedet? Nå, web betyder, at det er online, og app er kun en forkortelse for "applikation". En Custom Web App er en online databaseapplikation, der tilgås fra skyen ved hjælp af en browser. Du bygger og vedligeholder webappen i desktopversionen […]

Hurtig startlinje i SharePoint 2010

Hurtig startlinje i SharePoint 2010

De fleste sider i SharePoint 2010 viser en liste over navigationslinks på linjen Hurtig start langs venstre side af siden. Hurtig startlinjen viser links til fremhævet webstedsindhold såsom lister, biblioteker, websteder og udgivelsessider. Hurtigstartlinjen indeholder to meget vigtige links: Linket Alt webstedsindhold: […]

Hvad betyder Solver-fejlmeddelelserne i Excel?

Hvad betyder Solver-fejlmeddelelserne i Excel?

Ved simple problemer finder Solver i Excel som regel hurtigt de optimale Solver-variableværdier for objektivfunktionen. Men i nogle tilfælde har Solver problemer med at finde de Solver-variableværdier, der optimerer objektivfunktionen. I disse tilfælde viser Solver typisk en meddelelse eller en fejlmeddelelse, der beskriver eller diskuterer det problem, der […]