Годинник Excel

Електронний годинник таймер в VBA Excel

Для того, щоб зробити електронний годинник, який буде відображати в комірці відлік часу, потрібно виконати наступні дії:

  1. Відкрийте книгу Excel.
  2. В потрібну комірку введіть функцію NOW(). Ця функція повертає поточну дату і час.
  3. Для того, щоб відобразити тільки час в цій комірці (без дати), необхідно активувати комірку → Зробити клік правою кнопкою миші → У меню що з’явилося обрати Формат клітинок → На вкладці Число обрати числовий формат Час → Обрати потрібний формат відображення часу.
  4. Перейдіть в редактор коду VBA (Розробник → Visual Basic, або Alt+F11).
  5. Клікніть правою кнопкою миші по VBA Project і створіть новий модуль: Insert → Module.
  6. Вставте у вікно Code створеного модуля, наступний код:
Sub digital_clock()
Range("I9").Value = Now
Application.OnTime Now + TimeValue("00:00:01"), "digital_clock"
End Sub

Тепер, якщо ми запустимо виконання макросу, то наш годинник почне працювати.

Не забудьте зберегти файл з типом "Книга Excel з підтримкою макросів".

Автоматичний запуск годинника

Щоб макрос запускався автоматично при відкритті книги Excel, перейдыть в редактор Visual Basic і зробіть подвійний клік лівою кнопкою миші по ЦяКнига. У вікно Code вставте наступний код:

Private Sub Workbook_Open()
    digital_clock
End Sub

Пояснення коду

Код Sub digital_clock() створює цифровий годинник, який оновлює значення комірки I9 кожну секунду та відображає поточний час.

Розглянемо кожний рядок цього коду:

Sub digital_clock()

Цим рядком коду, ми оголошуємо макрос з ім'ям digital_clock. В VBA, Sub вказує на те, що це підпрограма (процедура).

Range("I9").Value = Now 

Цей рядок встановлює значення комірки I9 (у поточному аркуші) на поточний момент часу, використовуючи функцію Now. Функція Now повертає поточний час та дату.

Application.OnTime Now + TimeValue("00:00:01"), "digital_clock"

Цей рядок встановлює планування виклику макросу digital_clock через 1 секунду (вказано TimeValue("00:00:01") для вказання однієї секунди) від поточного моменту часу (Now). Таким чином, макрос буде автоматично викликаний кожну секунду (у вказаний момент часу) для оновлення значення комірки I9.

Код Private Sub Workbook_Open() є обробником події, який спрацьовує автоматично при відкритті робочої книги (workbook) у програмі Excel. Цей обробник подій викликає макрос digital_clock при відкритті робочої книги.

Розглянемо кожний рядок цього коду:

Private Sub Workbook_Open()

Це оголошення обробника подій, яке вказує, що ми хочемо виконати певну дію під час відкриття робочої книги.

digital_clock

Цей рядок викликає макрос digital_clock. Коли робоча книга відкривається, він автоматично викликає макрос digital_clock, який оновлює значення комірки I9 та запускає автоматичне оновлення кожну секунду.

Отже, при відкритті робочої книги спрацьовує обробник подій Workbook_Open, який запускає макрос digital_clock, а цей макрос починає оновлення значення комірки I9 та встановлює автоматичне оновлення кожну секунду для відображення поточного часу.

Відео як створити електронний годинник в Excel

Main Menu