VBA - Вземете днешната дата (текуща дата)

Този урок ще покаже как да получите днешна дата във 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

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave