Подразумевано, УДФ -ове (Кориснички дефинисане функције) датотеке у Екцел ВБА нису испарљиви. Они се поново израчунавају само када се промени било који аргумент функције. А. испарљива функција ће се поново израчунати сваки пут када дође до израчунавања у било којој ћелији на радном листу. Хајде да погледамо једноставан пример да ово мало објаснимо.
1. Отворите Висуал Басиц Едитор и кликните на Инсерт, Модуле.
Креирајте функцију под називом МИФУНЦТИОН која враћа збир изабране ћелије и ћелије испод ове ћелије.
2. Додајте следеће редове кода:
Функција МИФУНЦТИОН (ћелија као опсег)
МИФУНЦТИОН = целл.Валуе + целл.Оффсет (1, 0) .Вредност
Завршна функција
3. Сада можете користити ову функцију, као и било коју другу Екцел функцију.
4. Ово је неиспорна функција. Непроменљиве функције се поново израчунавају само када се промени било који аргумент функције. Промените вредност ћелије Б2 у 8.
5. Сада промените вредност ћелије Б3 на 11.
Објашњење: неиспорна функција се не прерачунава када се промијени било која друга ћелија на листу.
6. Ажурирајте функцију на следећи начин да бисте функцију учинили променљивом:
Функција МИФУНЦТИОН (ћелија као опсег)
Примена.Влатилно
МИФУНЦТИОН = целл.Валуе + целл.Оффсет (1, 0) .Вредност
Завршна функција
7. Промените вредност ћелије Б3 на 12.
Резултат:
Напомена: функцију морате поново да унесете да би била променљива (или да је освежите постављањем курсора на траку са формулама и притиском на ентер).