Функція додавання дати VBA

ДатаДодати опис

Функція VBA DateAdd дозволяє додавати (або віднімати) дні, місяці, роки, години, квартали тощо до Дат або Часів.

Прості приклади додавання дати

Ось простий приклад DateAdd:

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

Цей код додасть 20 днів (позначених буквою "d") до дати 4.04.2021:

Замість цього, ми можемо змінити аргумент Інтервал з “d” на “m”, щоб додати 20 місяців до дати 01.04.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

Синтаксис DateAdd

У редакторі VBA ви можете ввести "DateAdd (", щоб побачити синтаксис функції DateAdd:

Функція DateAdd містить 3 аргументи:

Інтервал: Одиниця часу (дні, місяці, роки тощо). Введіть як рядок. (наприклад, "m" за місяць)

Налаштування Опис
рррр Рік
q Квартал
м Місяць
y День року
d День
w Будній день
ww Тиждень
h Година
n Хвилина
s По -друге

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

Дата: Початкова дата. Див. Наступний розділ.

Програмування VBA | Генератор коду працює для вас!

Приклади функції додавання дати Excel VBA

Посилання на дати

Для початку ми продемонструємо різні способи посилання на дати за допомогою функції 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 As Datedt = #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 Суб ДатаAdd_Months ()MsgBox DateAdd ("m", 2, #4/1/2021 #)End Sub

День року

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

День

123 Суб ДатаAdd_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 | Генератор коду працює для вас!

Додати до "Сьогодні"

Ці приклади додадуть одиниці часу до сьогодні, використовуючи функцію дати.

123456789 Суб -датаAdd_Year_Test ()Dim dtToday As DateЗатемнити 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 Суб ДатаAdd_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 Суб ДатаAdd_Second ()MsgBox DateAdd ("s", 2, #4/1/2021 6: 00: 00 #)End Sub

Форматування дат

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

123456789101112131415161718 ПідформатуванняDatesTimes ()'Повертає поточну дату та часdt = Зараз ()'екс. 02.02.2021Діапазон ("B2") = Формат (dt, "мм/дд/рррр")'екс. 2 липня 2022 рокуДіапазон ("B3") = Формат (dt, "мммм d, рррр")'екс. 2 липня 2022 р. 09:10Діапазон ("B4") = Формат (dt, "mm/dd/yyyy hh: mm")'екс. 7.2.21 9:10 ранкуДіапазон ("B5") = Формат (dt, "m.d.yy h: мм AM/PM")End Sub

wave wave wave wave wave