Обновление таблицы VBA

#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. Никаких проблем. Пожалуйста, примите ответ, если вы довольны, что он работает 😉