Excel VBA-functie en sub - Eenvoudige Excel-macro's

Inhoudsopgave

Functie | Sub

Het verschil tussen een functie en een sub in Excel VBA is dat een functie een waarde kan retourneren, terwijl een sub dat niet kan. Functies en subs worden erg handig naarmate het programma groter wordt.

Functie

Als u wilt dat Excel VBA een taak uitvoert die een resultaat oplevert, kunt u een functie gebruiken. Plaats een functie in een module (klik in de Visual Basic Editor op Invoegen, Module). Bijvoorbeeld de functie met de naam Area.

Functiegebied (x als dubbel, y als dubbel) als dubbel
Oppervlakte = x * y
Functie beëindigen

Uitleg: Deze functie heeft twee argumenten (van het type Double) en een retourtype (het gedeelte na As ook van het type Double). Je kunt de naam van de functie (Area) in je code gebruiken om aan te geven welk resultaat je wilt retourneren (hier x * y).

Je kunt nu ergens anders in je code naar deze functie verwijzen (met andere woorden de functie aanroepen) door simpelweg de naam van de functie te gebruiken en voor elk argument een waarde te geven.

Plaats een opdrachtknop op uw werkblad en voeg de volgende coderegels toe:

Dim z als dubbel
z = Oppervlak (3, 5) + 2
MsgBox z

Uitleg: De functie retourneert een waarde, dus u moet deze waarde in uw code 'vangen'. U kunt hiervoor een andere variabele (z) gebruiken. Vervolgens kunt u een andere waarde aan deze variabele toevoegen (als u dat wilt). Geef ten slotte de waarde weer met behulp van een MsgBox.

Resultaat wanneer u op de opdrachtknop op het werkblad klikt:

Sub

Als u wilt dat Excel VBA enkele acties uitvoert, kunt u een sub gebruiken. Plaats een sub in een module (klik in de Visual Basic Editor op Invoegen, Module). Bijvoorbeeld de sub met de naam Area.

Subgebied (x als dubbel, y als dubbel)
MsgBox x * y
Einde sub

Uitleg: Deze sub heeft twee argumenten (van het type Double). Het heeft geen retourtype! Je kunt naar deze sub verwijzen (de sub aanroepen) van ergens anders in je code door simpelweg de naam van de sub te gebruiken en voor elk argument een waarde te geven.

Plaats een opdrachtknop op uw werkblad en voeg de volgende coderegel toe:

Gebied 3, 5

Resultaat wanneer u op de opdrachtknop op het werkblad klikt:

Zie je het verschil tussen de functie en de sub? De functie heeft de waarde 15 geretourneerd. We hebben de waarde 2 aan dit resultaat toegevoegd en het uiteindelijke resultaat weergegeven. Toen we de sub aanriepen, hadden we geen controle meer over het resultaat (15) omdat een sub geen waarde kan retourneren!

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave