„Excel VBA“ nepastovios funkcijos - paprastos „Excel“ makrokomandos

Turinys

Pagal numatytuosius nustatymus UDF (vartotojo apibrėžtos funkcijos) Excel VBA nėra nepastovus. Jie perskaičiuojami tik pasikeitus bet kuriam funkcijos argumentui. A nepastovi funkcija bus perskaičiuotas, kai bet kuriame darbalapio langelyje bus atliktas skaičiavimas. Pažvelkime į paprastą pavyzdį, kad tai paaiškintume šiek tiek daugiau.

1. Atidarykite „Visual Basic“ redaktorių ir spustelėkite Įterpti, Modulis.

Sukurkite funkciją, pavadintą MYFUNCTION, kuri grąžina pasirinkto langelio ir po šiuo langeliu esančios ląstelės sumą.

2. Pridėkite šias kodo eilutes:

Funkcija MYFUNCTION (ląstelė kaip diapazonas)
MYFUNCTION = ląstelė. Vertė + langelis. Poslinkis (1, 0). Vertė
Pabaigos funkcija

3. Dabar galite naudoti šią funkciją, kaip ir bet kurią kitą „Excel“ funkciją.

4. Tai yra nepastovi funkcija. Nepastovios funkcijos perskaičiuojamos tik pasikeitus bet kuriam funkcijos argumentui. Pakeiskite langelio B2 reikšmę į 8.

5. Dabar pakeiskite langelio B3 reikšmę į 11.

Paaiškinimas: nepastovi funkcija nėra perskaičiuojama, kai pasikeičia bet kuri kita lapo ląstelė.

6. Atnaujinkite funkciją taip, kad funkcija nepastovi:

Funkcija MYFUNCTION (ląstelė kaip diapazonas)
Taikymas. Lakus
MYFUNCTION = ląstelė. Vertė + langelis. Poslinkis (1, 0). Vertė
Pabaigos funkcija

7. Pakeiskite langelio B3 reikšmę į 12.

Rezultatas:

Pastaba: turite dar kartą įvesti funkciją, kad ji taptų nepastovi (arba atnaujinkite ją įdėdami žymeklį į formulės juostą ir paspausdami „Enter“).

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave