¿cómo calcular valores de celda en vba?
De forma predeterminada en Excel, cada vez que cambia el valor de una celda, Excel vuelve a calcular todas las celdas que tienen una dependencia de cálculo en esa celda. Pero cuando usas VBA, tienes la opción de cambiarlo a manual, como lo hacemos en Excel.
Usando el método de cálculo VBA
Puede cambiar el cálculo a manual antes de iniciar cualquier código, de la siguiente manera.
Application.Calculation = xlManual
Cuando ejecuta este código, cambia el cálculo a manual.
Y al final del código puedes usar la siguiente línea de código para cambiar a automático.
Application.Calculation = xlAutomatic
Puede utilizar el cálculo de la siguiente manera.
Sub myMacro() Application.Calculation = xlManual 'your code goes here Application.Calculation = xlAutomatic End Sub
Calcular ahora (todos los libros abiertos)
Si solo desea volver a calcular todos los libros abiertos , puede utilizar el método «Calcular» como se muestra a continuación.
Calculate
Utilice el método de cálculo para una hoja.
De la siguiente manera, puede recalcular todos los cálculos para todos
ActiveSheet.Calculate Sheets("Sheet1").Calculate
La primera línea de código vuelve a calcular para la hoja activa y la segunda línea lo hace para «Hoja1», pero puedes cambiar la hoja si lo deseas.
Calcular para un solo rango o celda
De manera similar, puede volver a calcular todos los cálculos para un rango particular o una sola celda de la siguiente manera.
Sheets("Sheet1").Range("A1:A10").Calculate Sheets("Sheet1").Range("A1").Calculate