Excel VBA -funktion och sub - enkla Excel -makron

Innehållsförteckning

Funktion | Sub

Skillnaden mellan a fungera och a sub i Excel VBA är att en funktion kan returnera ett värde medan en sub inte kan. Funktioner och subs blir mycket användbara när programstorleken ökar.

Fungera

Om du vill att Excel VBA ska utföra en uppgift som returnerar ett resultat kan du använda en funktion. Placera en funktion i en modul (Klicka på Infoga, modul i Visual Basic Editor). Till exempel funktionen med namnet Area.

Funktionsområde (x som dubbel, y som dubbel) som dubbel
Yta = x * y
Avsluta funktion

Förklaring: Den här funktionen har två argument (av typen Double) och en returtyp (delen efter As också av typen Double). Du kan använda namnet på funktionen (område) i din kod för att ange vilket resultat du vill returnera (här x * y).

Du kan nu hänvisa till denna funktion (med andra ord kalla funktionen) från någon annanstans i din kod genom att helt enkelt använda funktionens namn och ge ett värde för varje argument.

Placera en kommandoknapp på ditt kalkylblad och lägg till följande kodrader:

Dim z As Double
z = Område (3, 5) + 2
MsgBox z

Förklaring: Funktionen returnerar ett värde så att du måste "fånga" detta värde i din kod. Du kan använda en annan variabel (z) för detta. Därefter kan du lägga till ett annat värde till denna variabel (om du vill). Slutligen, visa värdet med en MsgBox.

Resultat när du klickar på kommandoknappen på arket:

Sub

Om du vill att Excel VBA ska utföra vissa åtgärder kan du använda en sub. Placera en sub i en modul (Klicka på Infoga, modul i Visual Basic Editor). Till exempel suben med namnet Area.

Delområde (x som dubbel, y som dubbel)
MsgBox x * y
Avsluta Sub

Förklaring: Denna sub har två argument (av typen Double). Den har ingen returtyp! Du kan hänvisa till denna sub (ring sub) från någon annanstans i din kod genom att helt enkelt använda namnet på subben och ge ett värde för varje argument.

Placera en kommandoknapp på ditt kalkylblad och lägg till följande kodrad:

Område 3, 5

Resultat när du klickar på kommandoknappen på arket:

Kan du se skillnaden mellan funktionen och suben? Funktionen returnerade värdet 15. Vi lade värdet 2 till detta resultat och visade det slutliga resultatet. När vi ringde suben hade vi ingen kontroll över resultatet (15) eftersom en sub inte kan returnera ett värde!

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave