Excel VBA flyktige funksjoner - Enkle Excel -makroer

Innholdsfortegnelse

Som standard er UDF (User Defined Functions) in Excel VBA er ikke flyktige. De blir bare beregnet på nytt når noen av funksjonens argumenter endres. EN flyktig funksjon blir beregnet på nytt hver gang beregning skjer i alle cellene i regnearket. La oss se på et enkelt eksempel for å forklare dette litt mer.

1. Åpne Visual Basic Editor og klikk Sett inn, modul.

Lag en funksjon kalt MYFUNCTION som returnerer summen av den valgte cellen og cellen under denne cellen.

2. Legg til følgende kodelinjer:

Funksjon MYFUNCTION (celle som område)
MYFUNCTION = cell.Value + cell.Offset (1, 0) .Value
Sluttfunksjon

3. Nå kan du bruke denne funksjonen, akkurat som alle andre Excel -funksjoner.

4. Dette er en ikke-flyktig funksjon. Ikke-flyktige funksjoner blir bare beregnet på nytt når noen av funksjonens argumenter endres. Endre verdien av celle B2 til 8.

5. Endre nå verdien av celle B3 til 11.

Forklaring: Den ikke-flyktige funksjonen blir ikke beregnet på nytt når en annen celle på arket endres.

6. Oppdater funksjonen som følger for å gjøre funksjonen flyktig:

Funksjon MYFUNCTION (celle som område)
Søknad. Flyktig
MYFUNCTION = cell.Value + cell.Offset (1, 0) .Value
Sluttfunksjon

7. Endre verdien av celle B3 til 12.

Resultat:

Merk: du må gå inn i funksjonen igjen for å gjøre den flyktig (eller oppdatere den ved å plassere markøren i formellinjen og trykke enter).

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

wave wave wave wave wave