Excel VBA Application.Calculate не работает, но Ctrl + Alt + F9

У меня есть необычная проблема с Excel 2013. У меня есть VBA-скрипт, который извлекает данные из SQL и генерирует файлы HTML, а затем импортирует эти HTML-файлы в вкладки, за которыми следует повторный вызов формул, зависящих от ранее созданных данных.

Вот основная структура:

Sub RefreshData() Task1 ' run 1st query and generate HTML file Task2 ' run 2nd query and generate HTML file . . . Taskn ' run nth query and generate HTML file RefreshDataInTabs ' refresh all tabs with generated HTML files Calculate_AllOpenWorkbooks ' calculate all formulas that depend on data obtained in Tasks above End Sub 

Вот вызов для расчета …

 Sub Calculate_AllOpenWorkBooks() Application.Calculate End Sub. 

Итак, все работает так, как ожидалось, до вызова Calculate_AllOpenWorkBooks. Ячейки с формулами не обновляются. «Автоматическое» вычисление рабочей книги выбирается в окнах «Параметры расчета» в «Параметры Excel». Ручные данные -> Обновить все не работает, но Ctrl + Alt + F9 делает!

Я не понимаю, как отладить эту вещь. Я был бы признателен за любые отзывы. Спасибо.

С Уважением,

После многих попыток решить проблему я в конечном итоге использовал

SendKeys "{F9}"

Задержка составляет 10 мс, но она работает, и вы можете использовать ее в коде. Вы даже можете сделать SendKeys «^% {F9}» для Ctrl + Alt + F9, если хотите.

Удачи!

Interesting Posts

Копирование некоторых строк в новых столбцах – Excel

Используя LIKE в Excel VBA, чтобы найти дубликаты ячейки?

Глобализация / локализация отчетов Excel с использованием электронной таблицы

Вставить OLEObject в определенную ячейку с определенной шириной и высотой

Именованные диапазоны в Excel OpenXML

Исключение при чтении из Excel

Как автоматически заполнить шаблон Excel

Excel Transpose – на основе значений ячеек

VBA список путей к файлу связанных объектов в документе

Как прервать считыватель POI потокового чтения после прочтения первой строки?

Как сопоставить информацию в разных листах и ​​копировать / вставлять, если есть совпадение?

pandas читать значения excel не формулы

Проблема форматирования при экспорте данных в Excel с использованием макроса VBA

Создание правильного формата excel xls

Переформатирование и объединение данных таблицы электронных таблиц

Давайте будем гением компьютера.