Цей підручник покаже, як отримати сьогоднішню дату у VBA.
Існує кілька способів отримати сьогоднішню дату в коді VBA, а саме за допомогою VBA Дата() функцію або VBA Зараз () функцій.
Функція Date ()
The Дата() Функція дозволяє нам присвоїти сьогоднішню дату змінній, а потім відобразити дату у безпосередньому вікні редактора VBE, щоб побачити сьогоднішню дату.
123 | Затемнити dtToday як ДатаdtToday = Дата ()Debug.Print dtToday |
Крім того, ми можемо відобразити дату у вікні повідомлення.
12345 | Дата субтестуЗатемнити dtToday як ДатаdtToday = Дата ()Msgbox "Сьогоднішня дата" & dtTodayEnd Sub |
Функція Now ()
The Зараз () Функція працює так само, як функція дати, але вона включає час.
12345 | Sub TestDate ()Dim dtToday As DatedtToday = Зараз ()MsgBox "Сьогоднішня дата" & dtTodayEnd Sub |
Форматування дат за допомогою VBA
В обох Дата() та Зараз () функцій, дата форматується у стилі за замовчуванням, що визначається налаштуваннями на нашому ПК. Ми можемо налаштувати це форматування за допомогою VBA Формат функція. Оскільки функція форматування повертає рядок, нам потрібно оголосити a STRING змінна, а не a ДАТА змінна.
12345 | Sub TestDate ()Dim dtToday As StringdtToday = Формат (дата, "дд мммм рррр")MsgBox "Сьогоднішня дата" & dtTodayEnd Sub |
Ми також можемо відформатувати Тепер() для включення часової частини у налаштований формат.
12345 | ПідформатNow ()Dim dtToday As StringdtToday = Формат (Зараз (), "dd мммм ррр чч: мм: сс ранку/пм")MsgBox dtСьогодніEnd Sub |
Порівняння 2 -х дат з VBA
Ми також можемо скористатися функцією Дата для порівняння сьогоднішньої дати з іншою датою - ми можемо підрахувати, скільки днів залишається до події! Ми можемо це зробити за допомогою VBA DateDiff () функція, яка поверне число. Тому ми можемо оголоситиІНТЕГР змінна для зберігання поверненого значення.
123456789 | Sub TestDateDiff ()Dim dtToday As DateЗатемнити dtSomeDay як датуЗатемнити iDays як ціле числоdtToday = ДатаdtSomeDay = "05/06/2021"iDays = DateDiff ("d", dtToday, dtSomeDay)MsgBox "Є" & iDays & "дні між 2 датами"End Sub |
Оскільки дати зберігаються як числа, ми також можемо мінус друга дата від першої, щоб отримати таку ж відповідь.
1 | iDays = dtToday - dtSomeDay |