Excel VBA -funktion og sub - nemme Excel -makroer

Indholdsfortegnelse

Funktion | Sub

Forskellen mellem a fungere og a sub i Excel VBA er, at en funktion kan returnere en værdi, mens en sub ikke kan. Funktioner og subs bliver meget nyttige, når programstørrelsen stiger.

Fungere

Hvis du vil have Excel VBA til at udføre en opgave, der returnerer et resultat, kan du bruge en funktion. Placer en funktion i et modul (i Visual Basic Editor, klik på Indsæt, modul). For eksempel funktionen med navnet Areal.

Funktionsområde (x som dobbelt, y som dobbelt) som dobbelt
Område = x * y
Afslut funktion

Forklaring: Denne funktion har to argumenter (af typen Double) og en returneringstype (delen efter As også af typen Double). Du kan bruge navnet på funktionen (område) i din kode til at angive, hvilket resultat du vil returnere (her x * y).

Du kan nu henvise til denne funktion (med andre ord kalde funktionen) et andet sted i din kode ved blot at bruge funktionens navn og give en værdi for hvert argument.

Placer en kommandoknap på dit regneark, og tilføj følgende kodelinjer:

Dim z som dobbelt
z = Areal (3, 5) + 2
MsgBox z

Forklaring: Funktionen returnerer en værdi, så du skal 'fange' denne værdi i din kode. Du kan bruge en anden variabel (z) til dette. Dernæst kan du tilføje en anden værdi til denne variabel (hvis du vil). Endelig skal du vise værdien ved hjælp af en MsgBox.

Resultat, når du klikker på kommandoknappen på arket:

Sub

Hvis du vil have Excel VBA til at udføre nogle handlinger, kan du bruge en sub. Placer en sub i et modul (i Visual Basic Editor, klik på Indsæt, modul). For eksempel suben med navnet Areal.

Underområde (x som dobbelt, y som dobbelt)
MsgBox x * y
Afslut Sub

Forklaring: Denne sub har to argumenter (af typen Double). Det har ikke en returtype! Du kan henvise til denne sub (kald sub) fra et andet sted i din kode ved blot at bruge subens navn og angive en værdi for hvert argument.

Placer en kommandoknap på dit regneark, og tilføj følgende kodelinje:

Område 3, 5

Resultat, når du klikker på kommandoknappen på arket:

Kan du se forskellen mellem funktionen og suben? Funktionen returnerede værdien 15. Vi tilføjede værdien 2 til dette resultat og viste det endelige resultat. Da vi ringede til suben, havde vi ikke mere kontrol over resultatet (15), fordi en sub ikke kan returnere en værdi!

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave