Inhoudsopgave
Er zijn veel overeenkomsten tussen een aangepaste functie/gebruikersgedefinieerde functie procedure en de Subprocedure/Subroutine in Excel . Echter, Functie procedures hebben enkele belangrijke verschillen met Subroutine procedures. In dit artikel zullen we het verschil zien tussen subroutine en functie in Excel VBA .
Download Praktijk Werkboek
U kunt het oefenwerkboek hier downloaden.
Subroutine en functie.xlsmInleiding tot Subroutine & Functie in Excel VBA
Het belangrijkste verschil is dat een functie een waarde teruggeeft (een getal of een tekststring). De waarde van de functieprocedure wordt opgeslagen in een variabele; een variabele waarvan de naam dezelfde is als die van de functie. De subroutine voert een aantal taken uit en geeft geen waarde terug zoals functies.
1. Excel VBA door gebruiker gedefinieerde functie
Zie het volgende voorbeeld. AddTwoNumber is de functienaam. Deze functie geeft de som van twee getallen die worden doorgegeven als argumenten ( arg1 en arg2 De som wordt opgeslagen in een variabele met de naam AddTwoNumber hetzelfde als de functienaam.
AddTwoNumber VBA-functie
Volg deze stappen om een aangepaste functie te maken:
- Activeer eerst de VBA-editor door op Alt+F11 .
- Selecteer ten tweede de werkmap in de Project raam.
- Ten derde, kies Plaats en dan Module om een VBA U kunt ook een bestaande codemodule gebruiken. De codemodule moet een standaard VBA module.
- Kopieer en plak vervolgens de onderstaande code voor de functie. De functienaam moet uniek zijn voor die werkmap. Voer een lijst van de argumenten (indien aanwezig) in tussen haakjes. Als de functie geen argument gebruikt, wordt het VBA-editor voegt een reeks lege haakjes toe.
Functie AddTwoNumber(arg1, arg2) 'Geeft de som van twee getallen die u als argumenten opgeeft AddTwoNumber = arg1 + arg2 Einde functie
- Verder is dit deel belangrijk. Plaats de VBA De waarde die u van deze functie wilt teruggeven, wordt opgeslagen in een variabele; een variabele waarvan de naam gelijk is aan de naam van de functie.
- Eindig de functie tenslotte met een Einde functie .
Lees meer: Hoe VBA User Defined Function gebruiken (4 geschikte voorbeelden)
Vergelijkbare lezingen
- 22 Macro-voorbeelden in Excel VBA
- 20 praktische codeertips om Excel VBA onder de knie te krijgen
- Hoe schrijf je VBA-code in Excel (in eenvoudige stappen)?
- Soorten VBA-macro's in Excel (een beknopte handleiding)
2. Excel VBA-subroutine
In het volgende voorbeeld ziet u hoe de subroutine in Excel VBA werkt. Hier de Sub start het lichaam van de subroutine. De naam van de subroutine is square_root. In het lichaam van de subroutine voeren we een taak uit in cel A2 De opdracht is het uitvoeren van de vierkantswortel in cel A2 Dit betekent dat, indien de cel een getal bevat, de Excel VBA de vierkantswortel van die cel uitvoert. De Einde Sub eindigt het lichaam van de subroutine.
Volg deze stappen om een subroutine te maken:
- Activeer eerst de VB-editor (pers Alt+F11 ).
- Selecteer vervolgens de werkmap in de Project raam.
- Ten derde, kies Plaats en dan Module om een VBA-module in te voegen. U kunt ook een bestaande codemodule gebruiken. De codemodule moet een standaard VBA-module zijn.
- Voer vervolgens het sleutelwoord SUB gevolgd door de naam van de subroutine.
- Voeg bovendien de VBA code die u wilt uitvoeren.
Sub vierkant_wortel() Bereik("C5").Waarde = Bereik("C4").Waarde ^ (1 / 2) Einde Sub
- Tenslotte wordt de Subroutine met een Einde Sub .
Belangrijkste verschillen tussen Subroutine & Functie in Excel VBA
Nadat we de subroutine en de functies afzonderlijk hebben uitgevoerd, kunnen we de verschillen in onderstaande tabel concluderen.
Functies | Subroutines |
---|---|
1) Geeft een waarde terug. | 1) Voert een reeks taken uit maar geeft geen waarde terug. |
2) Functies worden aangeroepen door een variabele te gebruiken. | 2) Kan van overal in het programma worden opgeroepen in meerdere types na de declaratie. |
3) Kan worden gebruikt als formules in de spreadsheets. | 3) Kan niet rechtstreeks in de spreadsheets worden gebruikt als formules. |
4) We kunnen functies gebruiken als formules in de spreadsheets. We kunnen ze meerdere keren uitvoeren nadat we de code hebben uitgevoerd. | 4) Om het resultaat van de Excel VBA subroutine te vinden moeten we eerst een waarde invoegen in de gewenste cel. |
5) Syntax: Functie Functie_naam() /Set van codes Einde functie | 5) Syntax: Sub_Naam () /Set van codes Einde Sub |
Dingen om te onthouden
- De ontwikkelaar tab moet worden ingeschakeld voordat deze methoden worden gebruikt.
- We kunnen Subroutine in Macro's in de Ontwikkelaar tabblad terwijl gebruikersgedefinieerde functies in het Functie tabblad met aangepast zoeken.
Conclusie
Als u nog steeds problemen hebt met een van deze instructies of als er afwijkingen zijn, laat het ons dan weten in het commentaar. Ons team staat klaar om al uw vragen te beantwoorden. Voor alle problemen met excel kunt u terecht op onze website ExcelWIKI voor oplossingen.