Функція сну VBA

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

Як пояснено вище, режим VBA Sleep - це функція Windows, і вона присутня в базі даних ядра Windows. Спосіб оголошення та виклику функції сну в VBA відрізняється як для 32-бітних операційних систем, так і для 64-бітних операційних систем. В основному це функція API API.

Синтаксис функції сплячого режиму VBA полягає в наступному:

Сон (час у мілі секунди)

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

 Сон 1000 

1000 - це мілі секунди, що дорівнює 1 секунді, і це сповільнить код на 1 сек. Якщо ми хочемо уповільнити код на 5 секунд, код буде:

 Сон 5000 

Декларація про функцію сну така:

 #If VBA7 Потім 'Excel 2010 або пізнішої версії публічного оголошення оголошень PtrSafe Sub Sleep Lib "kernel32" (ByVal Milliseconds As LongPtr) #Else' Excel 2007 або новішої версії Public Declare Sub Sleep Lib "kernel32" (ByVal Milliseconds As Long) #End If 
Примітка. Перш ніж використовувати функцію сну, ми повинні пам’ятати про одне. Нам потрібно використовувати цю функцію в модулях, а не в об'єктах excel. Щоб використовувати VBA, щоб переконатися, що вкладка розробника включена на вкладці файлів у розділі параметрів.

Як використовувати функцію сну Excel VBA?

Ми дізнаємось, як використовувати функцію сну VBA з кількома прикладами в excel.

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

Функція сну VBA - приклад №1

Що ми будемо робити в цьому прикладі, це те, що ми спливемо повідомлення про те, що макрос зупиниться на п’ять секунд. І саме через п’ять секунд ми хочемо, щоб з'явилося друге повідомлення, в якому сказано, що макрос відновився.

Для використання функції сну в Excel VBA виконайте наведені нижче дії:

Крок 1: Перейдіть на вкладку Developer і натисніть на Visual Basic, щоб відкрити редактор VB.

Крок 2: Після відкриття редактора VB натисніть на Вставити вкладку, а потім натисніть на модулі, щоб вставити новий модуль.

Крок 3: Тепер використовуйте заяву декларації, щоб використовувати функцію сну. Оскільки я використовую Windows 64-бітну операційну систему, я буду використовувати заяву декларації для того ж.

Код:

 Публічний декларація PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) 

Крок 4: Тепер оголосіть підфункцію, щоб почати писати код.

Код:

 Публічний декларуйте PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample () Кінець Sub 

Крок 5: Використовуйте функцію Mgsbox для відображення повідомлення про те, що макрос буде призупинено на п’ять секунд.

Код:

 Публічний оголосити PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample () MsgBox "MAcro буде призупинено на п’ять секунд" End Sub 

Крок 6: Використовуйте функцію сну, щоб призупинити макрос на п’ять секунд.

Код:

 Публічний декларуйте PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample () MsgBox "MAcro буде призупинено на п'ять секунд" Sleep 5000 End Sub 

Крок 7: Тепер використовуйте функцію msgbox для відображення повідомлення про те, що макрос було відновлено.

Код:

 Публічний декларуйте PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample () MsgBox "MAcro буде призупинено на п’ять секунд" Sleep 5000 MsgBox "Макрос відновлено" End Sub 

Крок 8: Запустіть код із наданої кнопки запуску або натисніть F5, щоб побачити результат. Ми бачимо, що відображається перше повідомлення.

Крок 9: Коли ми натискаємо Ок і чекаємо п'ять секунд, ми бачимо ще одне повідомлення.

Між обома повідомленнями була пауза на п’ять секунд.

Функція сну VBA - приклад №2

Тепер, що ми будемо робити в іншому прикладі, це те, що у мене є чотири змінні A, B, C і D. По-перше, я хочу додати значення A і B і відобразити його, і через 5 секунд я хочу відобразити значення додавання A, B, C і D.

Для використання функції сну в Excel VBA виконайте наведені нижче дії:

Крок 1: Перейдіть на вкладку Developer і натисніть на Visual Basic, щоб відкрити редактор VB.

Крок 2: Після відкриття редактора VB натисніть на Вставити вкладку, а потім натисніть на модулі, щоб вставити новий модуль.

Крок 3: Тепер використовуйте заяву декларації, щоб використовувати функцію сну. Оскільки я використовую Windows 64-бітну операційну систему, я буду використовувати заяву декларації для того ж.

Код:

 Публічний декларація PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) 

Крок 4: Тепер оголосіть підфункцію, щоб почати писати код.

Код:

 Публічний декларуйте PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample1 () End Sub 

Крок 5: Оголосіть шість змінних A, B, C, D, X і Y для збереження значень.

Код:

 Публічний декларуйте PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample1 () Dim A, B, C, D, X, Y як цілий кінець Sub 

Крок 6: Наведіть випадкові значення A, B, C і D.

Код:

 Публічний декларація PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample1 () Dim A, B, C, D, X, Y як цілий A = 10 B = 15 C = 20 D = 25 Кінець Sub 

Крок 7: Збережіть значення A + B у X.

Код:

 Публічний декларуйте PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample1 () Dim A, B, C, D, X, Y як цілий A = 10 B = 15 C = 20 D = 25 X = A + B Кінець Під 

Крок 8: Відображення значення X.

Код:

 Публічний декларуйте PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample1 () Dim A, B, C, D, X, Y як цілий A = 10 B = 15 C = 20 D = 25 X = A + B MsgBox X End Sub 

Крок 9: Тепер використовуйте функцію сну, щоб зробити паузу на п’ять секунд.

Код:

 Публічний декларуйте PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample1 () Dim A, B, C, D, X, Y як цілий A = 10 B = 15 C = 20 D = 25 X = A + B MsgBox X Sleep 5000 End Sub 

Крок 10: Тепер у змінній Y зберігаємо значення X + C + D і відображаємо його.

Код:

 Публічний декларуйте PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample1 () Dim A, B, C, D, X, Y як цілий A = 10 B = 15 C = 20 D = 25 X = A + B MsgBox X Сон 5000 Y = X + C + D MsgBox Y Кінець Підряд 

Крок 11: Запустіть вищевказаний код із наданої кнопки запуску або натиснувши клавішу F5 і подивіться результат. Ми бачимо, що перше повідомлення відображається як.

Крок 12: Натисніть OK, і макрос чекає п'ять секунд і відобразить наступний результат.

Функція сну VBA - приклад №3

У цьому прикладі ми хочемо перейменувати два аркуші аркуша 1 та аркуш 2 як Ананд та Аран відповідно. Але тривалість часу між обома повинна становити п’ять секунд. В основному ми хочемо, щоб макрос призупинився після перейменування аркуша 1, а потім перейменував аркуш 2. В даний час обидва аркуші названі так:

Для використання функції сну в Excel VBA виконайте наведені нижче дії:

Крок 1: Перейдіть на вкладку Developer і натисніть на Visual Basic, щоб відкрити редактор VB.

Крок 2: Після відкриття редактора VB натисніть на Вставити вкладку, а потім натисніть на модулі, щоб вставити новий модуль.

Крок 3: Тепер використовуйте оператор декларації для використання функції сну. Оскільки я використовую Windows 64-бітну операційну систему, я буду використовувати заяву декларації для того ж.

Код:

 Публічний декларація PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) 

Крок 4: Тепер оголосіть підфункцію, щоб почати писати код.

Код:

 Публічний декларуйте PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample2 () End Sub 

Крок 5: Активуйте робочий аркуш 1 та перейменуйте його за наступним кодом:

Код:

 Публічне декларування PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample2 () Робочі таблиці ("Sheet1"). Активуйте робочі таблиці ("Sheet1"). Name = "Anand" MsgBox 

Крок 6: Тепер використовуйте функцію сну, щоб використовувати затримку на п’ять секунд.

Код:

 Публічний декларуйте PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample2 () Робочі таблиці ("Sheet1"). Активуйте робочі таблиці ("Sheet1"). Name = "Anand" MsgBox 

Крок 7: Тепер перейменуйте аркуш 2 за наступним кодом.

Код:

 Публічний декларуйте PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample2 () Робочі таблиці ("Sheet1"). Активуйте робочі таблиці ("Sheet1"). Name = "Anand" MsgBox Активуйте робочі листи ("Sheet2"). Name = "Aran" MsgBox "Аркуш 2 перейменований на" End Sub 

Крок 8: Тепер запустіть код, і ми побачимо, що з'являється перше повідомлення.

Також ми можемо перевірити, чи аркуш 1 перейменований.

Крок 9: Натисніть кнопку ОК і зачекайте п'ять секунд, щоб наступне повідомлення та другий аркуш перейменували.

Другий аркуш також перейменований.

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

  • Сон VBA - це функція вікна, тому для використання нам потрібно використовувати заяви заяви.
  • Існують різні заяви декларації для різних типів операційних систем.
  • Просто використання режиму сну VBA заморожує макрос на час, що надається.
  • Параметр часу, який задається функцією сну VBA, становить мілісекунди.

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

Це посібник щодо функції сну VBA. Тут ми обговорюємо, як використовувати функцію сну Excel VBA разом із практичними прикладами та шаблоном Excel, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -

  1. Функція VBA VLOOKUP
  2. DCOUNT Функція в Excel
  3. Вставити копію VBA
  4. Функція COMBIN в Excel

Категорія: