У меня есть некоторые пользовательские функции в VBA, которые я хочу пересчитать с помощью стандартных кнопок Excel "Рассчитать сейчас" и "Рассчитать лист". Во всей книге для параметров расчета задано значение "вручную".
Когда я нажимаю кнопку «Рассчитать лист», все работает нормально. Я могу пересчитывать листы один за другим столько раз, сколько захочу.
Проблема возникает, если я нажимаю кнопку "Рассчитать сейчас". Вся книга пересчитывается, но дальнейший пересчет больше невозможен. Ни кнопкой "Рассчитать сейчас", ни "Рассчитать лист".
Я надеялся, что можно захватить событие "Рассчитать сейчас", перехватить его и вызвать для события "Рассчитать лист" отдельных листов. Или после функции Worksheet_Calculate()
установить некоторые флаги для ячеек, чтобы зарегистрировать их для следующего пересчета.
Private Sub Worksheet_Calculate()
' Register all cells in sheet to next recalculation
End Sub
Можно ли избавиться от этой проблемы? Я хочу использовать стандартные кнопки Excel для пересчета. но мне нужно, чтобы они работали каждый раз, когда я их нажимаю.