Для того, щоб зробити електронний годинник, який буде відображати в комірці відлік часу, потрібно виконати наступні дії:
- Відкрийте книгу Excel.
- В потрібну комірку введіть функцію NOW(). Ця функція повертає поточну дату і час.
- Для того, щоб відобразити тільки час в цій комірці (без дати), необхідно активувати комірку → Зробити клік правою кнопкою миші → У меню що з’явилося обрати Формат клітинок → На вкладці Число обрати числовий формат Час → Обрати потрібний формат відображення часу.
- Перейдіть в редактор коду VBA (Розробник → Visual Basic, або Alt+F11).
- Клікніть правою кнопкою миші по VBA Project і створіть новий модуль: Insert → Module.
- Вставте у вікно 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 та встановлює автоматичне оновлення кожну секунду для відображення поточного часу.
