Този урок ще покаже как да получите днешна дата във VBA.
Има няколко начина да получите днешната дата във VBA код, а именно с помощта на VBA Дата() функция или VBA Сега() функции.
Функция Date ()
The Дата() функцията ни позволява да присвоим днешната дата на променлива и след това да покажем датата в непосредствения прозорец в редактора на VBE, за да видим днешната дата.
123 | Dim dtToday като датаdtToday = Дата ()Debug.Print dtToday |
Като алтернатива можем да покажем датата в поле за съобщение.
12345 | Sub TestDateDim 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 = Формат (Дата, "dd mmmm yyyy")MsgBox "Днешната дата е" & dtTodayEnd Sub |
Можем също да форматираме Сега() функция за включване на частта от времето в персонализиран формат.
12345 | ПодформатNow ()Dim dtToday As StringdtToday = Формат (сега (), "dd mmmm yy hh: mm: ss am/pm")MsgBox dt ДнесEnd Sub |
Сравняване на 2 дати с VBA
Можем също да използваме функцията Дата, за да сравним днешната дата с различна дата - може да искаме да изчислим колко дни има до събитие! Можем да направим това с помощта на VBA DateDiff () функция, която ще върне число. Следователно можем да обявимINTEGER променлива за съхраняване на върнатата стойност.
123456789 | Sub TestDateDiff ()Dim dtToday As DateЗатъмнете dtSomeDay като датаЗатъмнете iDays като цяло числоdtToday = ДатаdtSomeDay = "05/06/2021"iDays = DateDiff ("d", dtToday, dtSomeDay)MsgBox "Има" & iDays & "дни между двете дати"End Sub |
Тъй като датите се съхраняват като числа, бихме могли също така да минус втората дата от първата, за да получим същия отговор.
1 | iDays = dtToday - dtSomeDay |