Могу ли я заставить скрипт vba ждать завершения Application.Calculate для пересчета всех формул?Дождитесь завершения Application.Calculate
ответ
В дополнение к моим комментариям, вы можете использовать DoEvents с помощью Application.CalculationState
. Смотрите этот пример
Application.Calculate
If Not Application.CalculationState = xlDone Then
DoEvents
End If
'~~> Rest of the code.
Если вы хотите, вы можете также использовать Do While Loop
для проверки Application.CalculationState
Я также рекомендовал бы видеть эту ссылку
Тема: Application.CalculationState Недвижимость
Ссылка: http://msdn.microsoft.com/en-us/library/bb220901%28v=office.12%29.aspx
Цитата из ссылки выше
Возвращает константу XlCalculationState, что указывает состояние вычисления приложения для любых расчетов, которые выполняются в Microsoft Excel. Только для чтения.
Я использовал код, чтобы решить проблему, когда цикл вычисления блокирует часть пути. Я думал, что это может быть потому, что нужно было дождаться завершения полного вычисления, прежде чем вводить следующий набор значений. Когда я вставил код Application.Calculate, проблема решена. Петля теперь заканчивается.
- 1. Node.js дождитесь завершения запроса
- 2. Дождитесь завершения условия string.contains()
- 3. Дождитесь завершения нескольких процессов
- 4. Дождитесь завершения NSURLConnection
- 5. Дождитесь сборки Jenkins завершения
- 6. Дождитесь завершения задачи async
- 7. Дождитесь завершения асинхронной функции
- 8. Дождитесь завершения прослушивания Android
- 9. Дождитесь завершения метода Async
- 10. Дождитесь завершения NSURLConnection sendAsynchronousRequest
- 11. Дождитесь завершения функции
- 12. Дождитесь завершения асинхронного запроса
- 13. Транспортир Дождитесь завершения анимации
- 14. Дождитесь завершения COM-события
- 15. Дождитесь завершения полного завершения JSON ViewDidLoad
- 16. Дождитесь завершения асинхронизации перед возвратом
- 17. iOS5.1: синхронизация задач (дождитесь завершения)
- 18. Дождитесь завершения целого набора AsyncTask
- 19. Дождитесь завершения команды в RootTools
- 20. asio - Дождитесь завершения операций async
- 21. Дождитесь завершения нескольких запросов AFNetworking
- 22. Ruby дождитесь завершения внешнего запроса
- 23. NodeJS - Bluebird: дождитесь завершения цикла
- 24. C электропроводкаPi дождитесь завершения функции
- 25. Дождитесь завершения загрузки Windows Phone
- 26. Дождитесь завершения анимации в нескольких
- 27. Дождитесь завершения двух наблюдаемых окон
- 28. Дождитесь завершения всех будущих вызовов.
- 29. .net ontextchanged, дождитесь завершения записи.
- 30. Дождитесь завершения блоков асинхронных блоков
Добавить 'DoEvents' после' Application.Calculate' –