Hur man kör VBA-funktionsprocedurer i Excel 2016

I VBA-programmering returnerar en funktion ett värde. Du kan köra funktionsprocedurer och anropa funktionen i Excel 2016. Funktioner, till skillnad från underprocedurer, kan köras på bara två sätt:

  • Genom att anropa funktionen från en annan underprocedur eller funktionsprocedur

  • Genom att använda funktionen i en kalkylbladsformel

Prova denna enkla funktion. Ange det i en VBA-modul:

Funktion CubeRoot(nummer)
  CubeRoot = nummer ^ (1 / 3)
Avsluta funktion

Den här funktionen är ganska knäpp; den beräknar bara kubikroten av talet som skickas till den som argument. Det ger dock en utgångspunkt för att förstå funktioner. Det illustrerar också ett viktigt koncept om funktioner: hur man returnerar värdet. (Du kommer väl ihåg att en funktion returnerar ett värde, eller hur?)

Observera att den enda kodraden som utgör denna funktionsprocedur utför en beräkning. Resultatet av matematiken (tal i potensen 1/3) tilldelas variabeln CubeRoot. Inte en slump är CubeRoot också namnet på funktionen. För att tala om för funktionen vilket värde som ska returneras, tilldelar du det värdet till namnet på funktionen.

Anropar funktionen från en underprocedur

Eftersom du inte kan köra en funktion direkt måste du anropa den från en annan procedur. Ange följande enkla procedur i samma VBA-modul som innehåller CubeRoot-funktionen:

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

När du kör CallerSub-proceduren visar Excel en meddelanderuta som innehåller värdet för variabeln Ans, vilket är 5.

Här är vad som händer: CubeRoot-funktionen exekveras och den får argumentet 125. Beräkningen utförs av funktionens kod (med värdet som skickas som argument), och funktionens returnerade värde tilldelas variabeln Ans. MsgBox-funktionen visar sedan värdet på Ans-variabeln.

Försök att ändra argumentet som skickas till CubeRoot-funktionen och kör CallerSub-makrot igen. Det fungerar precis som det ska — förutsatt att du ger funktionen ett giltigt argument (ett positivt tal).

Förresten, CallerSub-proceduren skulle kunna förenklas lite. Ans-variabeln krävs egentligen inte om inte din kod kommer att använda den variabeln senare. Du kan använda detta enstaka uttalande för att få samma resultat:

  MsgBox CubeRoot(125)

Anropa en funktion från en kalkylbladsformel

Nu är det dags att anropa denna VBA-funktionsprocedur från en kalkylbladsformel. Aktivera ett kalkylblad i samma arbetsbok som innehåller CubeRoot-funktionsdefinitionen. Ange sedan följande formel i valfri cell:

=CubeRoot(1728)

Cellen visar 12, vilket verkligen är kubroten av 1 728.

Som du kanske förväntar dig kan du använda en cellreferens som argument för CubeRoot-funktionen. Till exempel, om cell A1 innehåller ett värde kan du ange =CubeRoot(A1) . I det här fallet returnerar funktionen talet som erhålls genom att beräkna kubroten av värdet i A1.

Du kan använda den här funktionen hur många gånger som helst i kalkylbladet. Precis som Excels inbyggda funktioner visas dina anpassade funktioner i dialogrutan Infoga funktion. Klicka på knappen Infoga funktion i verktygsfältet och välj kategorin Användardefinierad. Dialogrutan Infoga funktion listar din alldeles egna funktion.

Hur man kör VBA-funktionsprocedurer i Excel 2016

CubeRoot-funktionen visas i kategorin Användardefinierad i dialogrutan Infoga funktion.

Om du vill att dialogrutan Infoga funktion ska visa en beskrivning av funktionen, följ dessa steg:

Välj Utvecklare → Kod → Makron.

Excel visar makrodialogrutan, men CubeRoot visas inte i listan. (CubeRoot är en funktionsprocedur, och den här listan visar bara underprocedurer.) Oroa dig inte.

Skriv ordet CubeRoot i rutan Makronamn.

Klicka på knappen Alternativ.

Ange en beskrivning av funktionen i rutan Beskrivning.

Klicka på OK för att stänga dialogrutan Makroalternativ.

Stäng makrodialogrutan genom att klicka på knappen Avbryt.

Denna beskrivande text visas nu i dialogrutan Infoga funktion.

Kolla in CubeRoot-funktionen som används i kalkylbladsformler.

Hur man kör VBA-funktionsprocedurer i Excel 2016

Använda CubeRoot-funktionen i formler.

Leave a Comment

Hur man använder kommandona Gör om och upprepa i Word 2016

Hur man använder kommandona Gör om och upprepa i Word 2016

Lär dig att använda kommandona Gör om och Upprepa i Word 2016 för att effektivt hantera dina dokument. Dessa funktioner hjälper dig att enkelt ångra och återställa ändringar.

Hur man blockerar Microsoft Word från att öppna filer i skrivskyddat läge på Windows

Hur man blockerar Microsoft Word från att öppna filer i skrivskyddat läge på Windows

Hur man blockerar Microsoft Word från att öppna filer i skrivskyddat läge på Windows Microsoft Word öppnar filer i skrivskyddat läge, vilket gör det omöjligt att redigera dem? Oroa dig inte, metoderna finns nedan

Hur man åtgärdar felaktig utskrift av Microsoft Word-dokument

Hur man åtgärdar felaktig utskrift av Microsoft Word-dokument

Så här åtgärdar du fel vid utskrift av felaktiga Microsoft Word-dokument Fel vid utskrift av Word-dokument med ändrade teckensnitt, röriga stycken, saknad text eller förlorat innehåll är ganska vanligt. Men gör det inte

Radera ritningar med penna och överstrykningspenna på dina PowerPoint-bilder

Radera ritningar med penna och överstrykningspenna på dina PowerPoint-bilder

Om du har använt pennan eller överstrykningspennan för att rita på dina PowerPoint-bilder under en presentation, kan du spara ritningarna till nästa presentation eller radera dem så att nästa gång du visar den börjar du med rena PowerPoint-bilder. Följ dessa instruktioner för att radera ritningar med penna och överstrykningspenna: Radera linjer ett på […]

Stilbiblioteksinnehåll i SharePoint 2010

Stilbiblioteksinnehåll i SharePoint 2010

Stilbiblioteket innehåller CSS-filer, XSL-filer (Extensible Stylesheet Language) och bilder som används av fördefinierade mallsidor, sidlayouter och kontroller i SharePoint 2010. För att hitta CSS-filer i stilbiblioteket på en publiceringswebbplats: Välj Webbplatsåtgärder→Visa Allt webbplatsinnehåll. Innehållet på webbplatsen visas. Style-biblioteket ligger i […]

Formatera siffror i tusentals och miljoner i Excel-rapporter

Formatera siffror i tusentals och miljoner i Excel-rapporter

Överväldiga inte din publik med gigantiska siffror. I Microsoft Excel kan du förbättra läsbarheten för dina instrumentpaneler och rapporter genom att formatera dina siffror så att de visas i tusentals eller miljoner.

Hur man delar och följer SharePoint-webbplatser

Hur man delar och följer SharePoint-webbplatser

Lär dig hur du använder SharePoints sociala nätverksverktyg som låter individer och grupper kommunicera, samarbeta, dela och ansluta.

Hur man konverterar datum till Julian-format i Excel

Hur man konverterar datum till Julian-format i Excel

Julianska datum används ofta i tillverkningsmiljöer som en tidsstämpel och snabbreferens för ett batchnummer. Denna typ av datumkodning tillåter återförsäljare, konsumenter och serviceagenter att identifiera när en produkt tillverkades och därmed produktens ålder. Julianska datum används också i programmering, militären och astronomi. Annorlunda […]

Hur man skapar en Access Web App

Hur man skapar en Access Web App

Du kan skapa en webbapp i Access 2016. Så vad är en webbapp egentligen? Tja, webben betyder att den är online, och appen är bara en förkortning för "applikation". En anpassad webbapp är en onlinedatabasapplikation som nås från molnet med en webbläsare. Du bygger och underhåller webbappen i skrivbordsversionen […]

Snabbstartsfält i SharePoint 2010

Snabbstartsfält i SharePoint 2010

De flesta sidor i SharePoint 2010 visar en lista med navigeringslänkar i snabbstartsfältet till vänster på sidan. Snabbstartsfältet visar länkar till utvalt webbplatsinnehåll som listor, bibliotek, webbplatser och publiceringssidor. Snabbstartsfältet innehåller två mycket viktiga länkar: Länken Allt webbplatsinnehåll: […]