#vba
#vba
Вопрос:
Я создаю рабочий лист в Excel, который подключен к онлайн-базе данных. Я создал функцию, которая проверяет, была ли опубликована новая информация, и соответствующим образом обновляет рабочий лист. Если есть новый выпуск, я обновляю все заголовки столбцов, чтобы освободить для него место, используя цикл.
Моя проблема в том, что выполнение функции занимает целую вечность, поскольку таблица обновляется каждый раз, когда я меняю заголовки столбцов.
Мне интересно, есть ли способ приостановить обновление, чтобы таблица обновлялась только один раз в конце скрипта vba.
Спасибо. Я ценю вашу помощь.
Комментарии:
1. Есть ли в столбце формула, которая вычисляется при обновлении данных?
2. Существует табличная формула, которая обновляет весь рабочий лист. Когда цикл обновляет заголовки 8 столбцов, он обновляется 8 раз, а не 1 раз.
Ответ №1:
Чтобы остановить обновление формул во время выполнения кода, вы можете использовать Application.Calculation
примерно так:
Public Sub SomeProcedure()
Application.Calculation = xlCalculationManual
'Code goes here
Application.Calculation = xlCalculationAutomatic
End Sub
Это остановит обновление формул до тех пор, пока не будет выполнен код в середине.
Комментарии:
1. Никаких проблем. Пожалуйста, примите ответ, если вы довольны, что он работает 😉