Функция VBA DateAdd

Дата Добавяне на описание

Функцията VBA DateAdd ви позволява да добавяте (или изваждате) дни, месеци, години, часове, тримесечия и т.н. към дати или часове.

Прости примери за добавяне на дата

Ето един прост пример за DateAdd:

123 Sub DateAdd_Day ()MsgBox DateAdd ("d", 20, #4/1/2021 #)End Sub

Този код ще добави 20 дни (обозначени с „d“) към датата 4/1/2021:

Вместо това можем да променим аргумента Интервал от „d“ на „m“, за да добавим 20 месеца към датата 4/1/2021:

123 Sub DateAdd_Month ()MsgBox DateAdd ("m", 20, #4/1/2021 #)End Sub

Вместо да показваме датата в поле за съобщение, можем да я присвоим на променлива:

123456 Sub DateAdd_Day2 ()Затъмнете dt като датаdt = DateAdd ("d", 20, #4/1/2021 #)MsgBox dtEnd Sub

Синтаксис на добавяне на дата

В редактора на VBA можете да въведете „DateAdd (“, за да видите синтаксиса за функцията DateAdd:

Функцията DateAdd съдържа 3 аргумента:

Интервал: Единица за време (дни, месеци, години и т.н.). Въведете като низ. (напр. „m“ за месец)

Настройка Описание
yyyy Година
q Квартал
м Месец
y Ден на годината
д Ден
w Делничен ден
ww Седмица
з Час
н Минута
с Второ

Номер: Числова стойност, представляваща броя на времевите единици за добавяне. (напр. 20 за добавяне на 20 единици)

Дата: Начална дата. Вижте следващия раздел.

VBA програмиране | Code Generator работи за вас!

Примери за Excel VBA DateAdd функция

Позоваване на дати

За начало ще демонстрираме различни начини за препращане към дати, използвайки функцията VBA DateAdd.

Всяка от тези функции DateAdd дава един и същ резултат:

123456789 Sub DateAdd_ReferenceDates ()MsgBox DateAdd ("m", 2, #4/1/2021 #)MsgBox DateAdd ("m", 2, DateSerial (2021, 4, 1))MsgBox DateAdd ("m", 2, DateValue ("1 април 2022 г."))End Sub

Или можете да посочите клетка, съдържаща дата:

12345 Sub DateAdd_ReferenceDates_Cell ()MsgBox DateAdd ("m", 2, Range ("C2"). Стойност)End Sub

Или създайте и посочете променлива за дата:

12345678 Sub DateAdd_Variable ()Dim dt като датаdt = #4/1/2021 #MsgBox DateAdd ("m", 2, dt)End Sub

Добавяне или изваждане на дати

Вече ви показахме как да добавите към дата:

123456 Sub DateAdd_Day2 ()Затъмнете dt като датаdt = DateAdd ("d", 20, #4/1/2021 #)MsgBox dtEnd Sub

Можете да извадите от дати, като използвате отрицателно число (напр. -20 вместо 20):

123456 Sub DateAdd_Day ()Затъмнете dt като датаdt = DateAdd ("d", -20, #4/1/2021 #)MsgBox dtEnd Sub

Уморени ли сте от търсене на примери за VBA код? Опитайте AutoMacro!

Добавяне на различни единици за време

Години

123 Sub DateAdd_Years ()MsgBox DateAdd ("гггг", 4, #4/1/2021 #)End Sub

Квартал

123 Sub DateAdd_Quarters ()MsgBox DateAdd ("q", 2, #4/1/2021 #)End Sub

Месец

123 Sub DateAdd_Months ()MsgBox DateAdd ("m", 2, #4/1/2021 #)End Sub

Ден на годината

123 Sub DateAdd_DaysofYear ()MsgBox DateAdd ("y", 2, #4/1/2021 #)End Sub

Ден

123 Sub DateAdd_Days3 ()MsgBox DateAdd ("d", 2, #4/1/2021 #)End Sub

Делничен ден

123 Sub DateAdd_Weekdays ()MsgBox DateAdd ("w", 2, #4/1/2021 #)End Sub

Седмица

123 Sub DateAdd_Weeks ()MsgBox DateAdd ("ww", 2, #4/1/2021 #)End Sub

VBA програмиране | Code Generator работи за вас!

Добавете към Днес

Тези примери ще добавят времеви единици към днешния ден, като използват функцията за дата.

123456789 Sub DateAdd_Year_Test ()Dim dtToday As DateDim dt По -късно като датаdtToday = ДатаdtLater = DateAdd ("гггг", 1, dtToday)MsgBox "Година по -късно е" & dtLaterEnd Sub
123 Sub DateAdd_Quarter_Test ()MsgBox "2 тримесечия по -късно е" & DateAdd ("q", 2, Дата)End Sub

Добавяне и изваждане на време

Функцията DateAdd работи и с Times. Ето няколко примера за добавяне (или изваждане) на време на време:

Час

Този пример ще добави 2 часа към момент:

123 Sub DateAdd_Hour ()MsgBox DateAdd ("h", 2, #4/1/2021 6: 00: 00 #)End Sub

Минута

Този пример ще извади 120 минути от текущото време:

123 Sub DateAdd_Minute_Subtract ()MsgBox DateAdd ("n", -120, сега)End Sub

Второ

123 Sub DateAdd_Second ()MsgBox DateAdd ("s", 2, #4/1/2021 6: 00: 00 #)End Sub

Форматиране на дати

Когато датите (или часовете) се показват в Excel, потребителски формуляри или кутии за съобщения, трябва да посочите как трябва да се показват датите, като използвате функцията за форматиране. По -долу сме включили няколко примера:

123456789101112131415161718 ПодформатиранеDatesTimes ()'Връща текущата дата и часdt = Сега ()„бивш 07/02/2021Диапазон ("B2") = Формат (dt, "mm/dd/yyyy")„бивш 2 юли 2022 г.Диапазон ("B3") = Формат (dt, "mmmm d, гггг")„бивш 2 юли 2022 г. 09:10Диапазон ("B4") = Формат (dt, "mm/dd/yyyy hh: mm")„бивш 7.2.21 г. 9:10 чДиапазон ("B5") = Формат (dt, "m.d.yy h: mm AM/PM")End Sub

wave wave wave wave wave