Функция DateAdd в VBA

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

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

Простые примеры DateAdd

Вот простой пример DateAdd:

123 Sub DateAdd_Day ()MsgBox DateAdd ("d", 20, # 4/1/2021 #)Конец подписки

Этот код добавит 20 дней (обозначенных буквой «d») к дате 01.04.2021:

Вместо этого мы можем изменить аргумент Interval с «d» на «m», чтобы добавить 20 месяцев к дате 01.04.2021:

123 Sub DateAdd_Month ()MsgBox DateAdd ("m", 20, # 4/1/2021 #)Конец подписки

Вместо того, чтобы отображать дату в окне сообщения, мы можем присвоить ее переменной:

123456 Sub DateAdd_Day2 ()Dim dt as Datedt = DateAdd ("d", 20, # 4/1/2021 #)MsgBox dtКонец подписки

DateAdd Синтаксис

В редакторе VBA вы можете ввести «DateAdd (», чтобы увидеть синтаксис функции DateAdd:

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

Интервал: Единица времени (дни, месяцы, годы и т. Д.). Введите как строку. (например, «m» для месяца)

Параметр Описание
гггг Год
q Четверть
м Месяц
у День года
d День
ш Будний день
ww Неделя
час Час
п Минуты
s Второй

Число: Числовое значение, представляющее количество единиц времени, которые нужно добавить. (например, 20, чтобы добавить 20 единиц)

Дата: Начальная дата. См. Следующий раздел.

Программирование на VBA | Генератор кода действительно работает для вас!

Примеры функции 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 г."))Конец подписки

Или вы можете сослаться на ячейку, содержащую дату:

12345 Sub DateAdd_ReferenceDates_Cell ()MsgBox DateAdd ("m", 2, Range ("C2"). Value)Конец подписки

Или создайте переменную даты и укажите ссылку на нее:

12345678 Sub DateAdd_Variable ()Dim dt As Datedt = # 4/1/2021 #MsgBox DateAdd ("m", 2, dt)Конец подписки

Добавить или вычесть даты

Мы уже показали вам, как добавить к свиданию:

123456 Sub DateAdd_Day2 ()Dim dt as Datedt = DateAdd ("d", 20, # 4/1/2021 #)MsgBox dtКонец подписки

Вы можете вычесть из дат, используя отрицательное число (например, -20 вместо 20):

123456 Sub DateAdd_Day ()Dim dt as Datedt = DateAdd ("d", -20, # 4/1/2021 #)MsgBox dtКонец подписки

Устали искать примеры кода VBA? Попробуйте AutoMacro!

Добавление разных единиц времени

Годы

123 Sub DateAdd_Years ()MsgBox DateAdd ("гггг", 4, # 4/1/2021 #)Конец подписки

Четверть

123 Sub DateAdd_Quarters ()MsgBox DateAdd ("q", 2, # 4/1/2021 #)Конец подписки

Месяц

123 Sub DateAdd_Months ()MsgBox DateAdd ("m", 2, # 4/1/2021 #)Конец подписки

День года

123 Sub DateAdd_DaysofYear ()MsgBox DateAdd ("y", 2, # 4/1/2021 #)Конец подписки

День

123 Sub DateAdd_Days3 ()MsgBox DateAdd ("d", 2, # 4/1/2021 #)Конец подписки

Будний день

123 Sub DateAdd_Weekdays ()MsgBox DateAdd ("w", 2, # 4/1/2021 #)Конец подписки

Неделя

123 Sub DateAdd_Weeks ()MsgBox DateAdd ("ww", 2, # 4/1/2021 #)Конец подписки

Программирование на VBA | Генератор кода действительно работает для вас!

Добавить в Сегодня

Эти примеры добавят единицы времени к сегодняшнему дню с помощью функции даты.

123456789 Sub DateAdd_Year_Test ()Dim dtToday As DateDim dtLater As DatedtToday = ДатаdtLater = DateAdd ("гггг", 1, dtToday)MsgBox «Год спустя» & dtLaterКонец подписки
123 Sub DateAdd_Quarter_Test ()MsgBox "2 квартала позже - это" & DateAdd ("q", 2, Date)Конец подписки

Сложение и вычитание времени

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

Час

В этом примере ко времени добавляется 2 часа:

123 Sub DateAdd_Hour ()MsgBox DateAdd ("h", 2, # 4/1/2021 6: 00: 00 #)Конец подписки

Минуты

В этом примере из текущего времени вычитается 120 минут:

123 Sub DateAdd_Minute_Subtract ()MsgBox DateAdd ("n", -120, Сейчас)Конец подписки

Второй

123 Sub DateAdd_Second ()MsgBox DateAdd ("s", 2, # 4/1/2021 6: 00: 00 #)Конец подписки

Даты форматирования

Когда даты (или время) отображаются в Excel, UserForms или Messageboxes, вы должны указать, как даты должны отображаться, с помощью функции формата. Ниже мы привели несколько примеров:

123456789101112131415161718 Sub FormattingDatesTimes ()'Возвращает текущую дату и времяdt = Сейчас ()'бывший. 02.07.2021Диапазон ("B2") = Формат (dt, "мм / дд / гггг")'бывший. 2 июля 2022 г.Диапазон ("B3") = Формат (dt, "мммм д, гггг")'бывший. 2 июля 2022 г. 09:10Диапазон ("B4") = Формат (dt, "мм / дд / гггг чч: мм")'бывший. 7.2.21 9:10Диапазон ("B5") = Формат (dt, "м.д.гг ч: мм AM / PM")Конец подписки

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave