Як використовувати функцію додавання дати VBA в Excel

  • Поділитися Цим
Hugh West

На сьогоднішній день, на жаль, це не так. Функція 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. Сподіваємося, це спонукає вас до більш впевненого використання цього функціоналу. Будь-які питання або пропозиції не забувайте залишати у формі для коментарів нижче

Г’ю Вест — досвідчений тренер і аналітик Excel із понад 10-річним досвідом роботи в галузі. Він має ступінь бакалавра з бухгалтерського обліку та фінансів і ступінь магістра з ділового адміністрування. Г’ю має пристрасть до викладання та розробив унікальний підхід до викладання, який легко зрозуміти та дотримуватися. Його експертне знання Excel допомогло тисячам студентів і професіоналів у всьому світі вдосконалити свої навички та досягти успіху в кар’єрі. У своєму блозі Г’ю ділиться своїми знаннями зі світом, пропонуючи безкоштовні навчальні посібники з Excel та онлайн-навчання, щоб допомогти окремим особам і компаніям повністю розкрити свій потенціал.