Дата Добавить описание
Функция 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")Конец подписки |