2012-12-08 5 views
0

У меня есть макрос, который является циклом. Я хочу настроить его для записи динамических данных, поступающих из внешнего источника.Пауза Excel VBA при обновлении внешних данных

Однако, хотя макрос работает, он не позволяет обновлять внешние данные.

Я пробовал DoEvents, но данные просто не освежают внешний источник, пока макрос не остановится.

Может ли кто-нибудь посоветовать ответ?

Благодаря

TT

+0

Вам не нужно приостанавливать Excel - если вы не планируете писать класс с [асинхронным поведением.] (Http://www.excelhero.com/blog/2010/05/multi-threaded-vba.html) Для более быстрой работы лучше сохранить трафик с листом-кодом до минимума. :) Или, может быть, вы можете показать нам некоторые данные о листе, которые вы используете, - объясните немного больше ваших потоков данных. – bonCodigo

+0

Вы можете использовать application.ontime, чтобы вызывать событие обработки через регулярные промежутки времени, а не циклически, но трудно дать более конкретное предложение без дополнительной информации. –

+0

Отправьте код, пожалуйста, это поможет. –

ответ

1

Хороший вопрос (независимо от того, что другие сказали) и нет кода требуется ответить на него. И ответ таков: проблема связана с внешними соединениями, а не с кодом.

Перейти к ленте> Данные> Соединения. Теперь для каждого подключения перейдите в «Свойства» и отключите фоновое обновление.

Фоновая подсветка - это опция, которая сделает обновление внешних данных параллелем вместо последовательного процесса. Отключение его будет возвращено в последовательную линию, и ваш код должен будет дождаться обновления!

Удачи.

Смежные вопросы