Как рассчитать значения ячеек в vba?

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

вычислить-vba

Использование метода расчета VBA

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

 Application.Calculation = xlManual

Когда вы запускаете этот код, расчет меняется на ручной.

vba-вычислить-метод

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

 Application.Calculation = xlAutomatic
переключиться на автоматический режим в vba

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

vba-код-метод-расчета
 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