calculate - excel vba calculation off
Espere hasta que Application.Calculate haya terminado (2)
Además de mis comentarios, puede usar DoEvents con Application.CalculationState
. Mira este ejemplo
Application.Calculate
If Not Application.CalculationState = xlDone Then
DoEvents
End If
''~~> Rest of the code.
Si lo desea, también puede usar Do While Loop
para buscar Application.CalculationState
También recomendaría ver este enlace
Tema : Propiedad Application.CalculationState
Enlace : http://msdn.microsoft.com/en-us/library/bb220901%28v=office.12%29.aspx
Citar desde el enlace de arriba
Devuelve una constante XlCalculationState que indica el estado de cálculo de la aplicación, para cualquier cálculo que se realice en Microsoft Excel. Solo lectura.
¿Puedo forzar mi script vba a esperar hasta que Application.Calculate haya terminado de volver a calcular todas las fórmulas?
Usé el código para resolver un problema en el que un ciclo de cálculo se bloqueaba parcialmente. Pensé que podría deberse a que tenía que esperar hasta que se completara el cálculo completo antes de ingresar el siguiente conjunto de valores. Cuando inserté el código Application.Calculate, el problema fue resuelto. Loop ahora corre hasta su finalización.