Как сделать паузу в vba excel

Как сделать паузу на определенное время? (Excel/VBA)

У меня есть лист Excel, который имеет следующий макрос. Я хотел бы зацикливать его каждую секунду, но висел, если я смогу найти функцию для этого. Разве это невозможно?

12 ответов

или (для Excel 2010 и более поздних):

добавьте это в свой модуль

или, для 64-разрядных систем использовать:

назовите его в своем макросе так:

потому что после этого читать намного легче.

это работает безупречно для меня. вставьте любой код до или после цикла "do until". В вашем случае поместите 5 строк (time1= & time2= & "do until") в конце внутри вашего цикла do

объявление для сна в kernel32.dll не будет работать в 64-битном Excel. Это было бы немного более общим:

просто очищенная версия кода clemo работает в Access, в которой нет приложения.Функция ожидания.

Application.Wait Second(Now) + 1

вот альтернатива сну:

в следующем коде я делаю эффект "свечения" мигает на кнопку спина, чтобы направить пользователей к нему, если у них "возникли проблемы", используя" сон 1000 " в цикле не привело к видимому миганию, но цикл работает отлично.

Я сделал это, чтобы ответить на проблему:

Я обычно использую таймер функция для приостановки приложения. Вставьте этот код в свой

Программирование на VBA в Excel паузы в 3 секунды

Помогите решить проблему — нужно сделать паузу с помощью VBA в Excel чтобы во время её можно было вводить в ячейки данные — после конца паузы он обрабатывает эти данные.

Вот несколько способов сделать паузу, которые не дают возможность вводить в ячейки данные, которые я нарыл в интернете:

1 ответ 1

Application.Wait — задержка выполнения следующей строки кода, т.е. временная "остановка".

Цикл с проверкой времени — практически то же самое, только цикл крутится вхолостую до выполнения условия.

А вот DoEvents — прерывание, передача управления системе в процессе работы. И пока цикл крутится, системе разрешается чего-нибудь сделать.

После паузы в ячейку A1 будет записана сумма предыдущего и измененного значений этой ячейки.

Вместо Timer можно использовать Now (с проверкой

Ссылка на основную публикацию