Зміст
На сьогоднішній день, на жаль, це не так. Функція VBA DateAdd відноситься до категорії дати і часу в Excel Функції VBA За допомогою цієї функції ми можемо додавати або віднімати роки, місяці, дні, квартали і навіть різні часові інтервали, такі як години, хвилини, секунди від заданої дати. Робота з датою і часом в щоденних розрахунках для створення звітів або проведення порівнянь є поширеним сценарієм. В Excel використання функцій дати і часу VBA, таких як функція DateAdd, робить складні або трудомісткі обчисленняефективніше та швидше.
Завантажити Робочий зошит з практики
Завантажте цей практичний посібник, щоб потренуватися, поки ви читаєте цю статтю.
VBA DateAdd Function.xlsmВступ до функції додавання дати в Excel VBA
Результат:
дата, до якої додається або віднімається певний часовий інтервал
Синтаксис:
ДатаДодати (інтервал, номер, дата)
Аргументи:
Аргумент | Обов'язково/необов'язково | Опис |
---|---|---|
інтервал | Необхідно | A рядок вираз. |
Інтервал часу в різних налаштуваннях, який ми хочемо додати кількість Необхідно A числовий вираз .
На сьогоднішній день, на жаль, це не так. кількість з інтервали додається або віднімається
Може бути позитивний - для майбутній дати
Може бути негативний - для минулий дати дата Необхідно A дата вираз
На сьогоднішній день, на жаль, це не так. дата до якого було приєднано інтервали це додано
Налаштування:
На сьогоднішній день, на жаль, це не так. Функція DateAdd має ці налаштування інтервалів:
Налаштування | Опис |
---|---|
yyyy | Рік |
q | Квартал |
m | Місяць |
y | Рік дня |
d | День |
w | Будний день |
ww | Тиждень |
h | Година |
n | Хвилина |
s | Другий |
Приклади використання функції додавання дати в Excel VBA
Формульні вирази функції додавання дати в Excel
Існують різні способи поставити дата аргумент в Функція DateAdd. Всі вони призводять до однакового результату.
Встановити наступне код в Редактор Visual Basic:
(Як запустити код в редакторі Visual Basic)
Sub add_year() Range("D3") = DateAdd("yyyy", 2, #1/1/2022#) Range("D4") = DateAdd("yyyy", 2, DateSerial(2022, 1, 1)) Range("D5") = DateAdd("yyyy", 2, DateValue("1 січня 2022")) Range("D6") = DateAdd("yyyy", 2, Range("B6")) End Sub
Пояснення :
DateAdd("yyyy",2, одним з наступних способів)
Для того, щоб поставити аргумент дата, можна використовувати різні способи:
- #1/1/2011#
- DateSerial( рік , місяць, день)
- DateValue( дата )
- Діапазон ("комірка") - дата, що зберігається в комірці
- Зберігання дати у змінній
У камерах D3, D4, D5, D6, D7 ми ставимо вищезазначені методи в якості дата Аргумент про те, що ДатаДодати функцію послідовно і отримали Той самий результат.
Ми додали 2 більше років до 1/1/2022 за результатами якого 1/1/2024.
Ось,
yyyy представляє рік як інтервал
2 представляє собою кількість інтервалів як кількість .
Довідка: Як виконати код у редакторі Visual Basic
Дотримуйтесь інструкцій:
- Від Стрічка Excel перейдіть за посиланням Вкладка "Розробник та оберіть Visual Basic Таб.
- У новому вікні натисніть на кнопку Вставка вкладку та оберіть Модуль.
- Напишіть свій код в редакції та пресі F5 до тікай.
Додавання різних параметрів інтервалів за допомогою функції "Додати дату" в Excel
1. Додати рік
Код:
Sub DateAdd_Years() Range("F5") = DateAdd("yyyy", 2, Range("D5")) End Sub
Результат: 2 роки додано до 1/1/2022 (мм/дд/рр) та призвело до 1/1/2024 (мм/дд/рр).
Читати далі: Як використовувати функцію року в Excel VBA
2. Додати квартал
Код:
Sub DateAdd_Quarters() Range("F5") = DateAdd("q", 2, Range("D5")) End Sub
Результат: 2 квартал = 6 місяців додано до 1/1/2022 (мм/дд/рр) та призвело до 7/1/2022 (мм/дд/рр).
3. Додати місяць
Код:
Sub DateAdd_Months() Range("F5") = DateAdd("m", 2, Range("D5")) End Sub
Результат: 2 місяці додано до 1/1/2022 (мм/дд/рр) та призвело до 3/1/2022 (мм/дд/рр).
Читати далі: Як використовувати функцію МІСЯЦЬ Excel VBA
4. Додати день року
Код:
Sub DateAdd_DayOfYear() Range("F5") = DateAdd("y", 2, Range("D5")) End Sub
Результат : додано 2 дні у році до 1/1/2022 (мм/дд/рр) та призвело до 1/3/2022 (мм/дд/рр).
Читати далі: Як використовувати функцію "День" в Excel VBA
5. Додати день
Код:
Sub DateAdd_Day() Range("F5") = DateAdd("d", 2, Range("D5")) End Sub
Результат: додано 2 дні до 1/1/2022 (мм/дд/рр) та призвело до 1/3/2022 (мм/дд/рр).
Схожі читання
- Excel VBA для знаходження номера тижня (6 коротких прикладів)
- Як використовувати функцію ДатаЧастини VBA в Excel (7 прикладів)
- Використання функції VBA DateSerial в Excel (5 простих застосувань)
- Як конвертувати дату з рядка у VBA (7 способів)
6. Додати День тижня
Код:
Sub DateAdd_WeekDay() Range("F5") = DateAdd("w", 10, Range("D5")) End Sub
Результат: додано 10 WeekDays до 1/1/2022 (мм/дд/рр) та призвело до 1/11/2022 (мм/дд/рр).
7. Додати тиждень
Код:
Sub DateAdd_Weeks() Range("F5") = DateAdd("ww", 2, Range("D5")) End Sub
Результат: додано 2 тижні = 14 днів до 1/1/2022 (мм/дд/рр) та призвело до 1/15/2022 (мм/дд/рр).
Читати далі: Як отримати день тижня засобами VBA
8. Додати годину
Код:
Sub DateAdd_Hours() Range("F5") = DateAdd("h", 14, Range("D5")) End Sub
Результат: додано 14 годин до 1/1/2022 12:00 AM (мм/дд/рр: чч/мм) та призвело до 1/1/2022 2:00 PM (мм/дд/рр : чч/мм).
9. Додати протокол
Код:
Sub DateAdd_Minutes() Range("F5") = DateAdd("n", 90, Range("D5")) End Sub
Результат: додано 90 хвилин = 1,30 години до 1/1/2022 12:00 AM (мм/дд/рр) та призвело до 1/1/2022 1:30 AM (мм/дд/рр).
10. Додати другий
Код:
Sub DateAdd_Seconds() Range("F5") = DateAdd("s", 120, Range("D5")) End Sub
Результат: додано 120 секунд = 2 хвилини до 1/1/2022 12:00 AM (мм-дд/ррр : чч/мм) і призвело до 1/1/2022 12:02 AM (мм/дд/рр : чч/мм).
Використання функції ДатаДодавання в Excel для віднімання різних значень інтервалу
Аналогічним чином ми можемо відняти роки, місяці, дні, години, хвилини тощо від дати за допомогою знак мінус в передній про числовий аргумент Наприклад:
Код:
Sub DateAdd_Subtract_Years() Range("F5") = DateAdd("y", -2, Range("D5")) End Sub
Результат: 2 роки вирахувано з 1/1/2022 (мм/дд/рр) та призвело до 1/1/2020 (мм/дд/рр).
Важливі моменти для запам'ятовування
- Коли ми використовуємо 'w' додати будні дні виходить, що в усі дні тижня включаючи суботу та неділю, а не лише робочі дні (як хтось міг би очікувати).
- Функція DateAdd не виводить в результаті значення невірна дата Наприклад, якщо до 31 січня 2022 року додати 1 місяць, то вийде 28 лютого 2022 року, а не 31 лютого 2022 року (його не існує).
- Якщо відняти більш ніж 122 роки від сьогоднішнього дня помилка відбудеться, тому що дата Excel старти від 1 січня 1990 року.
- Дата повернення функції DateAdd залежить від Панель управління Налаштування дати.
- Аргумент date функції DateAdd повинен мати значення згідно з виразом Календарна нерухомість Якщо Календар григоріанський , вхідний сигнал da аргумент також повинні бути в григоріанський Аналогічно, якщо календар у хіджрі, аргумент дати повинен бути в тому ж форматі.
Висновок
Тепер ми знаємо, як використовувати функцію VBA DateAdd в Excel. Сподіваємося, це спонукає вас до більш впевненого використання цього функціоналу. Будь-які питання або пропозиції не забувайте залишати у формі для коментарів нижче