Excel VBA -funksjon og sub - enkle Excel -makroer

Innholdsfortegnelse

Funksjon | Under

Forskjellen mellom a funksjon og a under i Excel VBA er at en funksjon kan returnere en verdi mens en sub ikke kan. Funksjoner og subs blir veldig nyttige når programstørrelsen øker.

Funksjon

Hvis du vil at Excel VBA skal utføre en oppgave som returnerer et resultat, kan du bruke en funksjon. Plasser en funksjon i en modul (Klikk på Sett inn, modul i Visual Basic Editor). For eksempel funksjonen med navnet Areal.

Funksjonsområde (x som dobbelt, y som dobbelt) som dobbelt
Areal = x * y
Sluttfunksjon

Forklaring: Denne funksjonen har to argumenter (av typen Double) og en returtype (delen etter As også av type Double). Du kan bruke navnet på funksjonen (Areal) i koden for å angi hvilket resultat du vil returnere (her x * y).

Du kan nå referere til denne funksjonen (med andre ord kall funksjonen) fra et annet sted i koden din ved ganske enkelt å bruke funksjonens navn og gi en verdi for hvert argument.

Plasser en kommandoknapp på regnearket og legg til følgende kodelinjer:

Dim z As Double
z = Areal (3, 5) + 2
MsgBox z

Forklaring: Funksjonen returnerer en verdi, så du må "fange" denne verdien i koden din. Du kan bruke en annen variabel (z) til dette. Deretter kan du legge til en annen verdi til denne variabelen (hvis du vil). Til slutt viser du verdien ved hjelp av en MsgBox.

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

Under

Hvis du vil at Excel VBA skal utføre noen handlinger, kan du bruke en sub. Plasser en sub i en modul (Klikk på Sett inn, modul i Visual Basic Editor). For eksempel suben med navnet Areal.

Delområde (x As Double, y As Double)
MsgBox x * y
Slutt Sub

Forklaring: Denne suben har to argumenter (av typen Double). Den har ikke en returtype! Du kan referere til denne suben (kall sub) fra et annet sted i koden din ved ganske enkelt å bruke subens navn og gi en verdi for hvert argument.

Plasser en kommandoknapp på regnearket og legg til følgende kodelinje:

Område 3, 5

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

Kan du se forskjellen mellom funksjonen og suben? Funksjonen returnerte verdien 15. Vi la verdien 2 til dette resultatet og viste det endelige resultatet. Da vi ringte suben, hadde vi ikke mer kontroll over resultatet (15) fordi en sub ikke kan returnere en verdi!

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave