
Часы в ячейке Excel



Сегодня темой поста будет вопрос одного из подписчиков: «Как ввести время в ячейку таблицы?» Вопрос требует пояснения. Нам нужны полные часы, которые показывают текущее время на компьютере.
Формулы СЕГОДНЯ (), ДАТА () и ВРЕМЯ (), которые пришли в голову вначале, здесь не помогут, поскольку они оставят сегодняшние «распечатки», даты, часы и секунды, когда вы введете формулу. Кроме того, формулы не поддерживают автоматические обновления.
Выход один: будем использовать макросы.
Этапы создания процедуры
Давайте пройдемся по этапам создания нашей процедуры:
- Создадим новую книгу в Excel;
- На вкладке «Разработчик» нажмите кнопку VisualBasic;
- Выполняем команды Ins ert -> Module.
Появится пустое окно, в которое нужно поместить следующий макрос:
Sub UpdateTime()
Dim varNextCall как вариант
‘впишите текущее время в ячейку
Cells (1, 1) .Val ue = Now
‘написать на varNext Вызовите время для вызова макроса в следующий раз (через 1 секунду)
varNextCall = TimeSerial (час (час), минута (час), секунда (час) +1)
‘предупреждаем программу в вызове макроса
Application.Ontime varNextCall, «UpdateTime»
Конец подзаголовка
Мы создали макрос для записи обновления времени, которое поместит текущее время в ячейку A1, его можно вызвать, нажав Alt + F8 или нажав кнопку «Макрос».
Сохранение книги
Следующим шагом будет сохранение книги. Убедитесь, что вы сохранили книгу с поддержкой макросов (.xlsm)!
После запуска макроса мы увидим следующий результат:
В ячейке отображаются дата и время (с вашего компьютера), секунды также добавляются в строку формул для облегчения просмотра.
У этого примера также есть недостаток: как только мы закроем книгу, макрос перестанет работать. Чтобы этого избежать, мы добавим к макросу автоматический запуск (как в случае CURRENCY RATES).
- Щелкните кнопку VisualBasic;
- В области «Проект» дважды щелкните строку «Эта книга»;
- В появившемся окне в поле «Объект» выберите «Рабочая папка» и в поле «Процедура» название процедуры «Открыть»;
- Между появившимися строками мы вводим вызов нашего макроса — Call UpdateTime.
Макрос можно переместить в любую ячейку. Теперь, даже на этапе закрытия/открытия, у нас будет точное время!
Буду рад любым отзывам и комментариям!