Как рассчитать значения ячеек в vba?
По умолчанию в Excel всякий раз, когда вы меняете значение ячейки, Excel пересчитывает все ячейки, вычисления которых зависят от этой ячейки. Но когда вы используете VBA, у вас есть возможность изменить его на ручной, как мы делаем в Excel.

Использование метода расчета VBA
Вы можете изменить расчет на ручной перед запуском любого кода следующим образом.
Application.Calculation = xlManual
Когда вы запускаете этот код, расчет меняется на ручной.

А в конце кода вы можете использовать следующую строку кода для переключения в автоматический режим.
Application.Calculation = xlAutomatic

Вы можете использовать расчет следующим образом.

Sub myMacro() Application.Calculation = xlManual 'your code goes here Application.Calculation = xlAutomatic End Sub
Вычислить сейчас (все открытые книги)
Если вы просто хотите пересчитать все открытые книги , вы можете использовать метод «Рассчитать», как показано ниже.
Calculate
Использовать метод расчета для листа
Следующим способом можно пересчитать все расчеты для всех
ActiveSheet.Calculate Sheets("Sheet1").Calculate
Первая строка кода выполняет перерасчет для активного листа, а вторая строка — для «Листа 1», но при желании вы можете изменить лист.
Вычисление для одного диапазона или ячейки
Аналогичным образом вы можете пересчитать все вычисления для определенного диапазона или одной ячейки следующим образом.
Sheets("Sheet1").Range("A1:A10").Calculate Sheets("Sheet1").Range("A1").Calculate