Есть ли способ применить Range.Calculate () на фоновом (невидимом) листе?Кажется, этот метод успешно выполняется, когда лист является фоновым, но он ничего не делает.Перерасчетов не происходит.
Это произойдет, если вы находитесь в автоматическом режиме, но не в ручном режиме. Подробнее см. http://www.decisionmodels.com/calcsecretsg.htm
Обратите внимание, что в Range.Dirty есть ошибка - она всегда действует наактивный рабочий лист независимо от рабочего листа, на который вы ссылаетесь (поэтому он не очень полезен !!)
В качестве обходного пути можно сбросить свойство формулы следующим образом:
var formula = range.Formula; range.Formula = formula;