Всем добрый день.
Все же VBA во многих местах повергает меня в задумчивость, к примеру не мог бы мне кто-нибудь пояснить идеологию такого метода как Apllication.Volatile
Я бы понял если бы UDF объявлялся с признаком волатильности, но по сути эксель должен вызвать функцию, просмотреть ее на предмет наличия аттрибута Application.Volatile и в случае его отсуствия не выполнять остальной код?
Например код
Function myfunc()
myfunc = Rnd
Exit Function
Application.Volatile
End Function
не делает функицю myfunc самопересчитывающейся, т.е. фактически интерпритатор вынужден просмотривать весь код чтобы определить обрабатывать функцию или нет и следовательно сложные UDF в любом случае будут сильно тормозить, даже если не являются волатильными? Прав ли я?