ДатаДодати опис
Функція 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 |