Я пытаюсь создать энергонезависимую функцию, которая принимает индекс и два диапазона и выполняет определенные операции с диапазонами листа.
К сожалению, функции Sheets
или Worksheets
делают функцию энергозависимой, таким образомкаждый раз, когда я редактирую лист, функция начинает пересчет.
Вот какой-то псевдокод:
Function FooFunc(sheetIndex As Integer, xRange As Variant, yRange As Variant) As Variant
Dim operatingSheet As Variant
'This makes the function volatile
Set operatingSheet = Sheets("Bar " & sheetIndex)
[...]
End Function
Очевидно, что объявление Application.Volatile (False)
, похоже, ничего не меняет.
Asper title: есть ли способ получить объект Sheets / Worksheets, не делая функцию энергозависимой?