Всем привет! 👋
Сегодня рассмотрим функции VBA для работы с текущим временем и датой. Благодаря этим функциям, вы сможете эффективно манипулировать временем и датой в своих макросах.
▶️ Функция Now
- возвращает текущую дату и время с учетом системных настроек.
🔘 Пример использования функции Now:
⚙️ Результат выполнения кода:
🔔 Заменив строку MsgBox "Текущая дата: " & currentDate на Range("A1") = Now получим результат в ячейке на листе:
🔘 Используя функцию Format можно форматировать значения Now в желаемый вид, например:
В данном случае указываем формат "d mmmm yyyy hh:nn", который выводит день месяца, полное название месяца, год, часы и минуты. При выполнении этого макроса в ячейке A1 будет отображаться текущая дата и время в указанном формате.
🔔 Вы можете изменить номер ячейки или форматирование по своему усмотрению.
▶️ Функция Time
- возвращает текущее время с учетом системных настроек (без даты):
🔘 Пример использования функции Time:
⚙️ Код выведет текущее время в окне сообщения:
🔔 Заменив строку MsgBox "Текущее время: " & currentTime на Range("A1") = Time получим результат в ячейке на листе.
🔘 Аналогично предыдущему примеру применив функцию Format можно форматировать значения Time в желаемый вид, например:
⚙️ Результат:
▶️ Функция Date
- возвращает текущую дату без времени в формате ДД.ММ.ГГГГ:
🔘 Пример использования функции Date:
⚙️ Результат выполнения этого кода будет выводить текущую дату в окне сообщения:
🔔 Кроме ранее рассмотренной функции Format мы можем использовать Свойство NumberFormat для установки нужного формата, например:
⚙️ Результат:
▶️ Функция Day
- возвращает день месяца для указанной даты. Принимает аргумент - дату, и возвращает число от 1 до 31, соответствующее дню месяца:
🔘 Пример использования функции Day:
📝 В этом примере:
- объявляем переменную myDate типа Date и присваиваем ей текущую дату с помощью функции Date.
- используем функцию Day и передаем ей переменную myDate в качестве аргумента. Результат вызова функции сохраняем в переменную dayOfMonth.
- выводим сообщение с использованием функции MsgBox, в котором отображаем значение переменной dayOfMonth вместе с дополнительным текстом.
⚙️ При выполнении этого макроса будет отображено сообщение с текущим днем месяца:
Изменив строку кода MsgBox "Сегодня " & dayOfMonth & "-е число" на Range("A1") = Day(myDate) получим отображение дня месяца в ячейке A1: