Excel VBA DateAdd

VBA DateAdd - це функція, яка виконує додавання або віднімання інтервалів часу / дати. Це поверне дату додаванням або відніманням заданого часового інтервалу. Зробити дату та час, коли ви робите деякі обчислення, досить складно. Але в нашій щоденній роботі це важливий тип даних, який ми можемо використовувати. Порівняння, додавання, віднімання між різними датами - це деякі звичні нам операції.

Формула для функції DateAdd в Excel VBA

Формула функції VBA DateAdd за форматом дуже проста.

Давайте подивимося, які параметри використовуються у функції Excel VBA DateAdd.

  • Інтервал: Це може бути інтервал часу / дати, який потрібно додати або відняти. Це означає, яке значення ви хочете додати або відняти. Це може бути компонентом дати чи часу, як дні, місяць тощо. Обсяг інтервалів наведено нижче.

  • Число: це кількість інтервалів, які потрібно додати. Використовуйте додатне число, щоб додати інтервал із заданою датою та від’ємне значення, щоб відняти інтервал від дати.
  • Дата : дата, до якої потрібно додати / відняти інтервал. Операції будуть виконані в цю дату, а дата повернення як вихід.

Приклади функції Excel VBA DateAdd

Нижче наведено різні приклади функції DateAdd в Excel VBA:

Ви можете завантажити цей шаблон VBA DateAdd Excel тут - VBA DateAdd Excel Шаблон

Приклад №1 - Додати дату

Подивимося, як додати певне число до заданої дати за допомогою функції VBA DateAdd.

  • Нам потрібно знайти дату після додавання '10' днів із датою '25 / 10/2015 '
  • Почніть додаткову процедуру з імені. Тут ми створили під-процедуру під назвою "adddate".

Код:

 Sub adddate () Кінець Sub 

  • Створіть змінну як тип даних дати, ім'я змінної є currentdate.

Код:

 Subdate adddate () Розмірити поточне оновлення як дата закінчення Sub 

  • Ми будемо зберігати результат у цій змінній currentdate.
  • Ми хочемо додати «10» днів із '25 / 10/2015 '. Отже, кількість днів, які потрібно додати, дорівнює 10. А інтервал - «d», а число - 10.
  • Тож давайте застосуємо функцію VBA DateAdd, як показано нижче.

Код:

 Subdate adddate () Розмірити поточне оновлення як дата currentdate = DateAdd ("d", 10, "25/10/2015") Кінець Sub 

  • Застосувавши формулу до змінної, використовуємо поле для друку результату.

Код:

 Subdate adddate () Dim currentdate As Date currentdate = DateAdd ("d", 10, "25/10/2015") Формат MsgBox (currentdate, "dd-mm-yyyy") Кінець Sub 

  • Запустіть код, натиснувши F5. Результат буде показаний як

Ви можете бачити результат, як показано вище.

Приклад №2 - Додавання місяців

  • Щоб додати місяці із заданою датою, інтервал потрібно змінити як "m".
  • Додайте "2" з датою "15.02.2017". Код можна записати як нижче.

Код:

 Sub addmonth () Dim currentdate As Date currentdate = DateAdd ("m", 2, "15/2/2017") Формат MsgBox (currentdate, "dd-mm-yyyy") Кінець Sub 

  • Дата виведення буде змінена, як показано нижче.

Приклад №3 - Додати рік

Щоб додати роки з вказаною датою, можна використовувати код нижче.

  • Інтервал повинен бути "yyyy"
  • Додайте 4 роки з'20 / 2/2018 '

Код:

 Sub addyear () Dim currentdate As Date currentdate = DateAdd ("yyyy", 4, "20/2/2018") Формат MsgBox (currentdate, "dd-mm-yyyy") Кінець Sub 

  • Результат буде наведено нижче. Змінна currentdate поверне '20 / 2/2022 '

Приклад №4 - Додавання чверті

  • Додаючи чверть, до дати після кварталу додаватимуться три місяці, якщо 12 місяців - 3.
  • Інтервал слід згадувати як "Q", число, вказане у формулі, вказує, скільки чвертей слід додати. Наприклад, кількість кварталів DateAdd ("Q", 2, "22/5/2019") становить 2, тому буде додано 6 місяців.
  • Щоб додати 2 квартали з '22 / 5/2018 'нижче коду можна використовувати.

Код:

 Sub addquarter () Dim currentdate Як дата currentdate = DateAdd ("Q", 2, "22/5/2019") Формат MsgBox (currentdate, "dd-mm-yyyy") Кінець Sub 

  • Результат буде наведено нижче.

Приклад №5 - Додайте секунди

  • Ви можете додати час разом із відображеною датою. Щоб вказати цей інтервал як "s", який позначає секунди.
  • Для відображення п’яти секунд з датою '28 / 3/2019 'можна скористатися наведеною нижче формулою.

Код:

 Sub addseconds () Dim currentdate As Date currentdate = DateAdd ("s", 5, "28/3/2019") Формат MsgBox (currentdate, "dd-mm-yyyy hh: mm: ss") End Sub 

  • Під час відображення результату з датами секунд буде показано.

Приклад №6 - Додайте тижні

  • Щоб додати число тижнів до даної дати, використовуйте інтервал як “WW”
  • Код, щоб знайти дату після заданої кількості тижнів від'27 / 03/2016 '

Код:

 Sub addweek () Вимірити поточне оновлення як дата currentdate = DateAdd ("WW", 2, "27/3/2019") Формат MsgBox (currentdate, "dd-mm-yyyy") Кінець Sub 

  • Результатом буде дата через 2 тижні.

Приклад №7 - Додайте години

  • Щоб отримати конкретний час із датою, це використовується.
  • В інтервалі згадуйте “h”, а також змінюйте формат виводу.
  • Код для отримання годин, роздрукованих із датою, є.

Код:

 Sub addhour () Dim currentdate As Date currentdate = DateAdd ("h", 12, "27/3/2019") Формат MsgBox (currentdate, "dd-mm-yyyy hh: mm: ss") End Sub 

  • Результат буде показаний з часом у год: мм: сс.

Приклад №8 - Як відняти тижні за допомогою функції VBA DateAdd?

Як і додавання, віднімання також може виконуватися за допомогою функції VBA DateAdd. Числа, вказані як натуральні цілі поряд з формулою. Для виконання віднімання використовуйте ці числа як від’ємні цілі числа. Наприклад, змініть формулу, як показано нижче.

 DateAdd (інтервал, - число, дата) 

Використовуючи вищевказаний метод, спробуємо знайти день, віднімаючи три тижні від '28 / 3/2019 '

  • Створіть підпроцедуру як субдату.

Код:

 Sub subdate () Кінець Sub 

  • Визначте змінну для зберігання результату. Currentdate - це змінна як тип дати для призначення кінцевого результату.

Код:

 Subdate Subdate () Розмірити поточне оновлення як дата закінчення Sub 

  • Для відняття трьох тижнів від '28 / 3/2019 'застосуємо формулу. DateAdd ("ww", -3, "28/3/2019")

Код:

 Subdate subdate () Dim currentdate As Date currentdate = DateAdd ("ww", -3, "28/3/2019") Кінець Sub 

'-3' означає, що віднімання "ww" - це інтервал, з якого ми хочемо оперувати тижнями.

  • Формула застосовується і результат зберігається у currentdate.

Код:

 Subdate subdate () Dim currentdate As Date currentdate = DateAdd ("ww", -3, "28/3/2019") Формат MsgBox (currentdate, "dd-mm-yyyy") Кінець Sub 

  • Результат після віднімання трьох тижнів від зазначеної дати відображається нижче.

Що потрібно пам’ятати

  • Інтервал та дата, зазначені у формулі, будуть наведені у подвійній пропозиції.
  • Якщо ви використовуєте інтервал будних днів "w", він буде працювати аналогічно інтервальному дню "d", оскільки будній день обчислює 1 = неділя, 2 = понеділок і т. Д. В. Отже, він буде рахувати свята, навіть якщо ви використовуєте будні дні.
  • Вихід буде показаний відповідно до налаштувань формату дати у вашій системі. Використовуйте формат разом із полем повідомлення, щоб надрукувати результат у потрібному форматі.
  • У функції VBA DateAdd використовуйте число як мінус, щоб виконати віднімання між датами.

Рекомендовані статті

Це посібник по функції Excel VBA DateAdd. Тут ми обговорюємо приклади функції VBA DateAdd для додавання та віднімання днів, місяців та років із зазначеної дати разом із практичними прикладами та шаблоном Excel, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -

  1. Як використовувати функцію дати у VBA?
  2. Формат дати в Excel VBA
  3. Що таке час VBA в Excel?
  4. Формула дати в Excel з прикладами

Категорія: