Нестабилни функции на Excel VBA - Лесни макроси на Excel

Съдържание

По подразбиране UDF (User Defined Functions) в Excel VBA не са летливи. Те се преизчисляват само когато някой от аргументите на функцията се промени. А летлива функция ще се преизчислява винаги, когато се случи изчисление във всяка клетка на работния лист. Нека да разгледаме един лесен пример, за да обясним това малко повече.

1. Отворете редактора на Visual Basic и щракнете върху Вмъкване, модул.

Създайте функция, наречена MYFUNCTION, която връща сумата от избраната клетка и клетката под тази клетка.

2. Добавете следните кодови редове:

Функция MYFUNCTION (клетка като диапазон)
MYFUNCTION = cell.Value + cell.Offset (1, 0) .Veue
Крайна функция

3. Сега можете да използвате тази функция, както всяка друга функция на Excel.

4. Това е енергонезависима функция. Нестабилните функции се преизчисляват само когато някой от аргументите на функцията се промени. Променете стойността на клетка B2 на 8.

5. Сега променете стойността на клетка B3 на 11.

Обяснение: енергонезависимата функция не се преизчислява, когато се промени друга клетка на листа.

6. Актуализирайте функцията, както следва, за да направите функцията променлива:

Функция MYFUNCTION (клетка като диапазон)
Приложение. Летливо
MYFUNCTION = cell.Value + cell.Offset (1, 0) .Veue
Крайна функция

7. Променете стойността на клетка B3 на 12.

Резултат:

Забележка: трябва да въведете функцията отново, за да я направите променлива (или да я опресните, като поставите курсора си в лентата с формули и натиснете enter).

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave