Код паузи у VBA

Навіть дивуйтеся, як було б чудово, якби ми могли запустити код відповідно до того, як це дозволяє час, оскільки до цього часу нам вдалося б виконати іншу роботу і зробити ці дані готовими до подальшої роботи. Це потреба у будь-яких видах завдань, де нам потрібно запустити один набір коду та працювати над іншими речами відповідно до вимоги коду, і поки не буде запущена інша частина коду, ми будемо готові до даних, які нам потрібно обробити той самий код. Це можна зробити за допомогою режиму сну та очікування VBA. У режимі сну та очікування ми можемо призупинити код у будь-який час. Час може бути в секундах або в залежності від часу.

Синтаксис паузи VBA в Excel

Синтаксис для паузи VBA такий:

Приклади призупинення коду VBA в Excel

Нижче наведено різні приклади призупинення коду VBA в Excel.

Ви можете завантажити цей шаблон VBA Pause Excel тут - VBA Pause Excel Template

Приклад №1 - Пауза VBA

У цьому прикладі ми побачимо, як працює VBA Wait. Як ми бачимо, додаток Wait дозволяє Time як булевий. Що означає, що якщо значення, яке ми подаємо, є правильним, то ми отримаємо це як ПРАВИЛЬНЕ ЛЖЕ.

Щоб побачити, як Пауза VBA працюватиме з програмою Wait у VBA,

Крок 1: Спочатку нам знадобиться Модуль, куди ми будемо писати код для цього. Отже, перейдіть до меню " Вставка" та виберіть " Модуль" у спадному меню, як показано нижче.

Крок 2: Тепер запишіть підкатегорію в назві Пауза VBA або в будь-якому іншому імені за вашим вибором, як показано нижче.

Код:

 Sub VBAPause1 () Кінець Sub 

Для паузи VBA нам потрібен певний набір тексту, який ми хотіли б надрукувати з паузою. Розглянемо, що текст " Get … Set … Go … Go … !! ”. Таким чином, ми виберемо 3 різних комірок, де ми будемо зберігати ці текстові слова окремо у кожній комірці.

Крок 3: Виберіть перший діапазон комірки як А1 або будь-яку іншу комірку за вибором і, щоб надати їй значення, виберіть функцію Значення та надайте їй значення, як ми зафіксували вище. Або виберіть будь-яке значення на вибір.

Код:

 Sub VBAPause1 () Діапазон ("A1"). Значення = "Отримати …" Кінець Sub 

Крок 4: Призначте решта значень так само, як ми це зробили для першого значення. Тут ми вибираємо клітинки від А1 до С1 як наш діапазон.

Код:

 Під VBAPause1 () Діапазон ("A1"). Значення = "Отримати …" Діапазон ("B1"). Значення = "Встановити …" Діапазон ("С1"). Значення = "Перейти .. !!!" Кінець Під 

Крок 5: За будь-якого випадку, якщо ми запустимо повний код, ми отримаємо всі значення Get. Встановити… Іти .. !!! за один перехід від комірки А1 до С1, як показано нижче.

Крок 6: Тепер, якщо ми хочемо зробити паузу між цілою паузою, нам потрібно буде використовувати програму Wait, як показано нижче. Ми будемо використовувати цей додаток трохи вище останнього діапазону.

Код:

 Sub VBAPause1 () Діапазон ("A1"). Значення = "Отримати …" Діапазон ("B1"). Значення = "Встановити …" Application.Wait (Діапазон ("C1"). Значення = "Перехід! .. !! "Кінець Sub 

Крок 7: У дужці програми Wait ми можемо записати час у форматі 24HR або у форматі AM / PM. Ми розглядаємо формат 24HRs. Тепер запишіть час у форматі HH: MM: SS, коли ми хочемо запустити решту коду після паузи.

Код:

 Sub VBAPause1 () Діапазон ("A1"). Значення = "Отримати …" Діапазон ("B1"). Значення = "Встановити …" Застосування. Зачекайте ("12: 26: 00") Діапазон ("С1") .Value = "Іди .. !!!" Кінець Під 

Крок 8: Тепер складіть код і запустіть його ще раз. Ми побачимо, що в комірці A1 ми отримали значення комірки як "Отримати …", і курсор працює в режимі очікування.

Крок 9: І як тільки годинник досягне о 12:25 годин, тоді решта значень комірок у комірці В1 та С1 знову з'являться, як показано нижче.

Приклад №2 - Пауза VBA

Є ще один спосіб, за допомогою якого ми можемо призупинити код, не додаючи або змінюючи час у програмі Wait кілька разів. Для цього ми б посилали той самий код, який ми бачили в прикладі-1.

Крок 1: Тепер у дужці програми Wait напишіть Now () з TimeValue, яку ми хочемо дати. Розглянемо паузу в 30 секунд.

Код:

 Sub VBAPause2 () Діапазон ("A1"). Значення = "Отримати …" Діапазон ("B1"). Значення = "Встановити …" Application.Wait (Now () + TimeValue ("00:00:30") ) Діапазон ("С1"). Значення = "Перейти .. !!!" Кінець Під 

Крок 2: Отже, коли ми запустимо код, VBA врахує поточний час і додасть 30 секунд паузи. І воно буде працювати аналогічно, як це працювало в прикладі-1. Для перевірки запустіть код.

Спочатку ми отримаємо перше значення комірки на A1.

А після паузи 30 секунд вона дасть решта значень у комірках B1 та C1.

Приклад №3 - Пауза VBA

У цьому прикладі ми побачимо, як Пауза VBA працює з додатком Sleep . Нижче наводиться синтаксис програми Sleep, яка дозволяє ByVal dwMilliseconds лише як LongPtr .

Тепер ця величина фактично знаходиться в VBA. Нам потрібно ввести попередньо вбудований код, який доступний у документах MS Docs, як показано нижче.

Крок 1: Тепер запишіть підкатегорію для паузи VBA, як показано нижче.

Код:

 Sub VBAPause3 () Кінець Sub 

Крок 2: Для цього нам потрібно було б визначити 2 змінні для початку та часу сну як String, як показано нижче.

Код:

 Sub VBAPause3 () затемнення, починаючи з рядка, затемнення як спляче, як кінець рядка Sub 

Крок 3: Призначте функцію часу першій змінній, яка починається.

Код:

 Sub VBAPause3 () Темний запуск як рядковий тьмяний сплячий як струнний запуск = Time End Sub 

Крок 4: І використовуйте Msgbox, щоб побачити значення, що зберігаються в змінній Starting.

Код:

 Sub VBAPause3 () Dim Start as String Dim Sleeping as String Start = Час MsgBox Starting End Sub 

Крок 5: Тепер використовуємо програму Sleep і виділяємо кількість мілісекунд, поки ми не хочемо спати функції.

Код:

 Sub VBAPause3 () Dim Starting as String Dim Sleeping as String Starting = Час MsgBox Start Sleeping = Час закінчення Sub 

Крок 6: Тепер аналогічним чином додайте додатку Time до другої змінної Sleeping . І використовуйте MsgBox, щоб побачити значення, що зберігаються в змінній Sleeping, як показано нижче.

Код:

 Sub VBAPause3 () Dim Starting as String Dim Sleeping as String Starting = Час MsgBox Starting Sleeping = Час сплячого кінця MsgBox Sub 

Нарешті, складіть код і запустіть його, натиснувши кнопку Відтворити, розташовану під панеллю меню, як показано нижче. Ми отримаємо вікно повідомлення з часом, який буде нашим початковим часом.

Як тільки ми натиснемо кнопку Ок, через 5000 мілісекунд ми побачимо ще одне вікно повідомлень із часом сну, як показано нижче.

Час сну розпочнеться одразу після того, як ми натиснемо кнопку ОК. Це не різниця у часі між початковим та сном. Насправді це час, коли ми натискаємо на кнопку ОК першого вікна повідомлень.

Плюси паузи VBA

  • Це дуже корисно, коли у нас є кілька функцій, які потрібно виконувати з деяким часовим інтервалом.
  • Це можна використовувати для аналізу та обчислення.

Що потрібно пам’ятати

  • Такий процес, як пауза VBA, не може бути виконаний за допомогою запису макросу.
  • Завжди краще використовувати процес, показаний у прикладі-2 для програми Wait, де ми будемо в безпеці від зміни часу знову і знову, а не просто утримувати паузу на кілька секунд після поточного часу.
  • Програма в режимі сну з прикладу-3 дозволяє отримати лише мільйони секунд
  • Код попередньої збірки, показаний на початку прикладу-3, є важливою частиною, яку слід застосувати, оскільки він задовольнить синтаксис програми "Сон".

Рекомендовані статті

Це посібник з паузою VBA. Тут ми обговорюємо, як ми можемо призупинити код у будь-який момент за допомогою програми Wait and Sleep. Ви також можете ознайомитися з іншими запропонованими нами статтями -

  1. Як використовувати числову функцію VBA?
  2. Створення Combo Box в Excel
  3. Вставте CheckBox в Excel
  4. Функція VBA UCASE в Excel

Категорія: