Innehållsförteckning
Det finns många likheter mellan en anpassad funktion/användardefinierad funktion förfarandet och Underförfarande/Subroutin på 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.xlsmIntroduktion 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 på 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.