Возможно ли пересчитать только ячейку или диапазон в VBA
Можно ли пересчитать только ячейку или диапазон в VBA? То, что мне нравится использовать для листа, - это следующее, но как это сделать только на ячейке? Или диапазон?
' ActiveSheet.EnableCalculation = False
' ActiveSheet.EnableCalculation = True
Ответы
Ответ 1
Существует метод расчета, который вы можете вызывать на диапазонах:
Range("A1").Calculate
Попробуйте это, поставив = Now() в A1 и запустив Calculate и наблюдайте за обновлением секунд:)
Вы можете пересчитать все ячейки на листе, используя:
Sheets(1).Calculate
См. также: Microsoft MSDN, Excel Recalculation, 16 июля 2012 г.
Ответ 2
Требования: Application.Calculation = xlManual
Рассчитать: все открытые рабочие книги
Application.Calculate
Рассчитать: конкретный лист
Worksheets(1).Calculate
или же
Worksheets("sheetname").Calculate
Рассчитать: указанная строка
Worksheets(1).Rows(2).Calculate
или же
Worksheets("sheetname").Range("A1").EntireRow.Calculate
Невозможно пересчитать только одну конкретную ячейку, например, только Range ("A1").