Excel VBA-functiezelfstudie: terugkeer, oproep, voorbeelden

Inhoudsopgave:

Anonim

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 geleende bedrag en de terugverdientijd accepteert. De functie kan vervolgens het geleende bedrag en de terugverdientijd gebruiken om de rente te berekenen en de waarde te retourneren.

Waarom functies gebruiken

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

Regels voor het benoemen van functies

De regels voor het benoemen van functies zijn dezelfde als die in het bovenstaande gedeelte 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 + arg2End Function

HIER in de syntaxis,

Code Actie
  • "Privéfunctie myFunction (...)"
  • Hier wordt het sleutelwoord "Functie" gebruikt om een ​​functie met de naam "myFunction" te declareren en de body van de functie te starten.
  • Het trefwoord 'Private' wordt gebruikt om de omvang van de functie te specificeren
  • "ByVal arg1 As Integer, ByVal arg2 As Integer"
  • Het declareert twee parameters van het gegevenstype integer genaamd 'arg1' en 'arg2.'
  • myFunction = arg1 + arg2
  • evalueert de uitdrukking arg1 + arg2 en wijst het resultaat toe aan de naam van de functie.
  • "Einde functie"
  • "End Sub" wordt gebruikt om de body van de functie te beëindigen

Functie gedemonstreerd met Voorbeeld:

Functies lijken erg op de subroutine. Het belangrijkste verschil tussen een subroutine en een functie is dat de functie een waarde retourneert wanneer deze wordt aangeroepen. Hoewel een subroutine geen waarde retourneert, wordt deze aangeroepen. Stel dat u twee cijfers wilt toevoegen. 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 commandoknop
  4. Test de code

Stap 1) Gebruikersinterface

Voeg een opdrachtknop toe aan het werkblad, zoals hieronder wordt weergegeven

Stel de volgende eigenschappen van CommanButton1 in op het volgende.

S / N Controle Eigendom Waarde
1 CommandButton1 Naam btnAddNumbers
2 Onderschrift Nummers toevoegen functie

Uw interface zou er nu als volgt uit moeten zien

Stap 2) Functiecode.

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

HIER in de code,

Code Actie
  • "Privéfunctie addNumbers (...)"
  • Het declareert een privéfunctie "addNumbers" die twee integer-parameters accepteert.
  • "ByVal firstNumber As Integer, ByVal secondNumber As Integer"
  • Het declareert twee parametervariabelen firstNumber en secondNumber
  • "addNumbers = firstNumber + secondNumber"
  • Het voegt de waarden firstNumber en secondNumber toe en wijst de som toe aan addNumbers.

Stap 3) Schrijf een code die de functie aanroept

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

HIER in de code,

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

Stap 4) Start het programma, u krijgt de volgende resultaten

Download Excel met bovenstaande code

Download de bovenstaande Excel-code

Overzicht:

  • 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 bij het opsplitsen van grote stukken code in kleine beheersbare code.