Excel VBA-functiehandleiding: Return, Call, Voorbeelden

Wat is een functie?

Een functie is een stukje code dat een specifieke taak uitvoert en een resultaat retourneert. Functies worden meestal gebruikt om repetitieve taken uit te voeren, zoals het opmaken van gegevens voor uitvoer, het uitvoeren van berekeningen, enz.

Stel dat u een programma ontwikkelt dat de rente op een lening berekent. U kunt een functie maken die het leenbedrag en de terugverdientijd accepteert. De functie kan vervolgens het geleende bedrag en de terugverdientijd gebruiken om de rente te berekenen en de waarde terug te geven.

Waarom functies gebruiken

De voordelen van het gebruik van functies zijn dezelfde als die in het bovenstaande gedeelte over het gebruik van subroutines.

Regels voor het benoemen van functies

De regels voor het benoemen van functies zijn dezelfde als die in de bovenstaande sectie over regels voor het benoemen van subroutines.

VBA-syntaxis voor het declareren van functie

Private Function myFunction (ByVal arg1 As Integer, ByVal arg2 As Integer)
    myFunction = arg1 + arg2
End Function

HIER in de syntaxis,

Code Actie
  • “Privéfunctie mijnFunctie(…)”
  • Hier wordt het trefwoord “Functie” gebruikt om een ​​functie met de naam “mijnFunctie” te declareren en de hoofdtekst van de functie te starten.
  • Het trefwoord 'Privé' wordt gebruikt om de reikwijdte van de functie aan te geven
  • “ByVal arg1 als geheel getal, ByVal arg2 als geheel getal”
  • Het declares twee parameters van het gegevenstype geheel getal genaamd 'arg1' en 'arg2.'
  • mijnFunctie = arg1 + arg2
  • evalueert de uitdrukking arg1 + arg2 en wijst het resultaat toe aan de naam van de functie.
  • “Eindefunctie”
  • “End Sub” wordt gebruikt om de hoofdtekst van de functie te beëindigen

Functie gedemonstreerd met voorbeeld:

De functies lijken sterk op de subroutine. Het belangrijkste verschil tussen een subroutine en een functie is dat de functie een waarde retourneert wanneer deze wordt aangeroepen. Terwijl een subroutine geen waarde retourneert wanneer deze wordt aangeroepen. Stel dat u twee getallen wilt optellen. U kunt een functie maken die twee getallen accepteert en de som van de getallen retourneert.

  1. Maak de gebruikersinterface
  2. Voeg de functie toe
  3. Schrijf code voor de opdrachtknop
  4. Test de code

Stap 1) Gebruikersinterface

Voeg een opdrachtknop toe aan het werkblad, zoals hieronder weergegeven

VBA-functies en subroutine

Stel het volgende inwing eigenschappen van CommanButton1 naar de volgende paginawing.

S / N Controle Woning Waarde
1 CommandoKnop1 Naam btnNummers toevoegen
2 Onderschrift Nummerfunctie toevoegen


Uw interface zou er nu als volgt uit moeten zien

VBA-functies en subroutine

Stap 2) Functiecode.

  1. Druk op Alt + F11 om het codevenster te openen
  2. Voeg de volgende toewing code
Private Function addNumbers(ByVal firstNumber As Integer, ByVal secondNumber As Integer)
    addNumbers = firstNumber + secondNumber
End Function

HIER in de code,

Code Actie
  • “Privéfunctie addNumbers(…)”
  • Het declares een privéfunctie “addNumbers” die twee integer-parameters accepteert.
  • “ByVal firstNumber als geheel getal, ByVal secondNumber als geheel getal”
  • Het declares twee parametervariabelen firstNumber en secondNumber
  • “addNumbers = eersteGetal + tweedeGetal”
  • Het voegt de waarden firstNumber en secondNumber toe en wijst de som toe aan addNumbers.

Stap 3) Schrijf code die de functie aanroept

  1. Klik met de rechtermuisknop op de opdrachtknop btnAddNumbers_Click
  2. Selecteer Code bekijken
  3. Voeg de volgende toewing code
Private Sub btnAddNumbersFunction_Click()
    MsgBox addNumbers(2, 3)
End Sub

HIER in de code,

Code Actie
“BerichtBox getallen toevoegen(2,3)”
  • Het roept de functie addNumbers aan en geeft 2 en 3 door als parameters. De functie retourneert de som van de twee getallen vijf (5)

Stap 4) Voer het programma uit en u krijgt het volgendewing

VBA-functies en subroutine

Download Excel met bovenstaande code

Download de bovenstaande Excel-code

Samengevat

  • Een functie is een stukje code dat een specifieke taak uitvoert. Een functie retourneert een waarde na uitvoering.
  • Zowel subroutines als functies bieden herbruikbaarheid van code
  • Zowel subroutines als functies helpen grote stukken code op te splitsen in kleine, beheersbare code.