Электронные часы таймер в VBA Excel

Электронные часы таймер в VBA Excel

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

  1. Откройте книгу Excel.
  2. Введите функцию ТДАТА() в нужную ячейку. Эта функция возвращает текущую дату и время.
  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() является обработчиком события, который срабатывает автоматически при открытии рабочей книги в программе Excel. Этот обработчик событий вызывает макрос digital_clock при открытии рабочей книги.

Рассмотрим каждую строку этого кода:

Private Sub Workbook_Open()

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

digital_clock

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

Таким образом, при открытии рабочей книги срабатывает обработчик событий Workbook_Open, запускающий макрос digital_clock, а этот макрос начинает обновление значения ячейки I9 и устанавливает автоматическое обновление каждую секунду для отображения текущего времени.

Видео как создать электронные часы в Excel

Main Menu