Skillnaden mellan underprogram & Funktion i Excel VBA

  • Dela Detta
Hugh West

Det finns många likheter mellan en anpassad funktion/användardefinierad funktion förfarandet och Underförfarande/Subroutin Excel . dock, Funktion förfarandena har några viktiga skillnader jämfört med Underprogram procedurer. I den här artikeln kommer vi att se skillnaden mellan subroutiner och funktioner i Excel VBA .

Ladda ner övningsboken

Du kan ladda ner arbetsboken här.

Underrutiner och funktioner.xlsm

Introduktion till subroutiner & Funktioner i Excel VBA

Den viktigaste skillnaden är att en funktion returnerar ett värde (ett tal eller en textsträng). Värdet för funktionsproceduren lagras i en variabel, en variabel vars namn är detsamma som funktionens namn. Underrutinen utför vissa uppgifter och returnerar inte ett värde som funktioner.

1. Excel VBA användardefinierad funktion

Se följande exempel. AddTwoNumber är funktionsnamnet. Funktionen returnerar summan av två tal som har lämnats som argument ( arg1 och arg2 ). Summan lagras i en variabel som heter AddTwoNumber samma som funktionsnamnet.

AddTwoNumber VBA-funktion

Följ de här stegen för att skapa en anpassad funktion:

  • För det första aktiverar du VBA-redigerare genom att trycka på Alt+F11 .
  • För det andra väljer du arbetsboken i Projekt fönster.
  • För det tredje, välj Infoga och sedan Modul för att infoga en VBA Du kan också använda en befintlig kodmodul. Kodmodulen måste vara en standard VBA modul.

  • Kopiera och klistra sedan in koden nedan för funktionen. Funktionsnamnet måste vara unikt för den arbetsboken. Ange en lista över argumenten (om några) inom parentes. Om funktionen inte använder något argument, kommer VBA-redigerare lägger till en uppsättning tomma parenteser.
 Funktion AddTwoNumber(arg1, arg2) 'Återger summan av två tal som du anger som argument AddTwoNumber = arg1 + arg2 Slutfunktion 
  • Dessutom är denna del viktig. VBA Koden som utför det avsedda målet. Värdet som du vill returnera från denna funktion lagras i en variabel, en variabel vars namn är detsamma som funktionens namn.
  • Slutligen avslutar du funktionen med en Slutfunktion .

Läs mer: Hur du använder VBA användardefinierad funktion (4 lämpliga exempel)

Liknande läsningar

  • 22 makroexempel i Excel VBA
  • 20 praktiska kodningstips för att behärska Excel VBA
  • Hur man skriver VBA-kod i Excel (med enkla steg)
  • Typer av VBA-makron i Excel (en snabbguide)

2. Excel VBA-underrutin

I följande exempel ser du hur underrutinen i Excel VBA fungerar. Här kan Under startar kroppen av underrutinen. Namnet på underrutinen är square_root. I kroppen av underrutinen utför vi en uppgift i cell A2 Uppgiften är att utföra kvadratroten i cellen A2 Det betyder att om cellen innehåller ett tal kommer Excel VBA att utföra kvadratroten av den cellen. Slutar under avslutar subrutinens huvuddel.

Följ de här stegen för att skapa en underrutin:

  • Aktivera först VB-redigerare (tryck på Alt+F11 ).
  • För det andra väljer du arbetsboken i Projekt fönster.
  • För det tredje väljer du Infoga och sedan Modul för att infoga en VBA-modul. Du kan också använda en befintlig kodmodul. Kodmodulen måste vara en standard VBA-modul.

  • Ange sedan nyckelordet SUB följt av namnet på underrutinen.
  • Dessutom ska du infoga följande VBA koden som du vill utföra.
 Sub square_root() Range("C5").Value = Range("C4").Value ^ (1 / 2) End Sub 
  • Slutligen kan underrutinen med en Slutar under .

Viktiga skillnader mellan subroutiner & Funktion i Excel VBA

Efter att ha utfört subroutinen och funktionerna separat kan vi konstatera skillnaderna i tabellen nedan.

Funktioner Underrutiner
1) Återger ett värde. 1) Utför en uppsättning uppgifter men returnerar inget värde.
2) Funktioner anropas med hjälp av en variabel. 2) Kan återkallas var som helst i programmet i flera typer efter deklarationen.
3) Kan användas som formler i kalkylblad. 3) Kan inte användas direkt i kalkylbladen som formler.
4) Vi kan använda funktioner som formler i kalkylbladen. Vi kan utföra dem flera gånger efter att ha kört koden. 4) För att hitta resultatet av Excel VBA-subrutinen måste vi först infoga ett värde i den önskade cellen.
5) Syntax:

Funktion Function Function_Name()

//Set av koder

Slutfunktion

5) Syntax:

Sub Sub_Name ()

//Set av koder

Slutar under

Saker att komma ihåg

  • Utvecklaren fliken måste vara aktiverad innan du kan använda dessa metoder.
  • Vi kan hitta Underprogram Makroer i den Utvecklare medan användardefinierade funktioner på fliken Funktion med hjälp av anpassad sökning.

Slutsats

Om du fortfarande har problem med någon av dessa instruktioner eller om du har avvikelser, låt oss veta det i kommentarerna. Vårt team är redo att besvara alla dina frågor. För alla Excel-relaterade problem kan du besöka vår webbplats ExcelWIKI för att hitta lösningar.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.