Это руководство продемонстрирует, как получить сегодняшнюю дату в VBA.
Есть несколько способов получить сегодняшнюю дату в коде VBA, а именно с помощью VBA. Дата() функция или VBA Теперь() функции.
Функция Date ()
В Дата() Функция позволяет нам назначить сегодняшнюю дату переменной, а затем отобразить дату в непосредственном окне редактора VBE, чтобы увидеть сегодняшнюю дату.
123 | Dim dtToday как DatedtToday = Дата ()Debug.Print dtToday |
В качестве альтернативы мы можем отобразить дату в окне сообщения.
12345 | Sub TestDateDim dtToday как DatedtToday = Дата ()Msgbox «Сегодняшняя дата» & dtTodayКонец подписки |
Функция Now ()
В Теперь() Функция работает так же, как функция даты, но включает время.
12345 | Sub TestDate ()Dim dtToday As DatedtToday = Сейчас ()MsgBox «Сегодняшняя дата» & dtTodayКонец подписки |
Форматирование дат с помощью VBA
В обоих Дата() и Теперь() функции, дата форматируется в стиле по умолчанию, как это определено настройками на нашем ПК. Мы можем настроить это форматирование с помощью VBA Формат функция. Поскольку функция форматирования вернет строку, нам нужно объявить НИТЬ переменная, а не ДАТА Переменная.
12345 | Sub TestDate ()Dim dtToday As StringdtToday = Format (Дата, «дд мммм гггг»)MsgBox «Сегодняшняя дата» & dtTodayКонец подписки |
Мы также можем отформатировать Теперь(), чтобы включить временную часть в настраиваемом формате.
12345 | Sub FormatNow ()Dim dtToday As StringdtToday = Format (Now (), «дд мммм гг чч: мм: сс утра / вечера»)MsgBox dtTodayКонец подписки |
Сравнение двух дат с VBA
Мы также можем использовать функцию Date для сравнения сегодняшней даты с другой датой - мы можем захотеть подсчитать, сколько дней осталось до события! Мы можем сделать это с помощью VBA DateDiff () функция, которая вернет число. Поэтому мы можем объявитьЦЕЛОЕ переменная, в которой будет храниться возвращаемое значение.
123456789 | Sub TestDateDiff ()Dim dtToday As DateDim dtSomeDay As DateDim iDays как целое числоdtToday = ДатаdtSomeDay = "06.05.2021"iDays = DateDiff ("d", dtToday, dtSomeDay)MsgBox "Между двумя датами есть" & iDays & "дни"Конец подписки |
Поскольку даты хранятся в виде чисел, мы также можем вычесть вторую дату из первой, чтобы получить тот же ответ.
1 | iDays = dtToday - dtSomeDay |