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 Template

Пример № 1 - Добавить дату

Давайте посмотрим, как добавить конкретное число с заданной датой, используя функцию VBA DateAdd.

  • Нам нужно найти дату после добавления «10» дней с датой «25/10/2015»
  • Запустите подпроцедуру с именем. Здесь мы создали подпроцедуру с именем «adddate».

Код:

 Sub adddate () End Sub 

  • Создайте переменную как тип данных date, имя переменной - currentdate.

Код:

 Sub adddate () Dim currentdate As Дата Конец Sub 

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

Код:

 Sub adddate () Dim currentdate As Date currentdate = DateAdd ("d", 10, "25/10/2015") End Sub 

  • После применения формулы к переменной давайте используем окно сообщения, чтобы напечатать результат.

Код:

 Sub adddate () Dim currentdate As Date currentdate = DateAdd ("d", 10, "25/10/2015") MsgBox Format (currentdate, "dd-mm-yyyy") End Sub 

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

Вы можете увидеть результат, как показано выше.

Пример № 2 - Добавить месяцы

  • Чтобы добавить месяцы с заданной датой, интервал должен измениться на «м».
  • Добавьте «2» с датой «15/2/2017». Код можно написать как ниже.

Код:

 Sub addmonth () Dim currentdate As Date currentdate = DateAdd ("m", 2, "15/2/2017") MsgBox Format (currentdate, "dd-mm-yyyy") End Sub 

  • Дата выхода будет изменена, как показано ниже.

Пример № 3 - Добавить год

Чтобы добавить годы с указанной датой, можно использовать приведенный ниже код.

  • Интервал должен быть «гггг»
  • Добавьте 4 года с '20 / 2/2018 '

Код:

 Sub addyear () Dim currentdate As Date currentdate = DateAdd ("yyyy", 4, "20/2/2018") MsgBox Format (currentdate, "dd-mm-yyyy") End 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 As Date currentdate = DateAdd ("Q", 2, "22/5/2019") MsgBox Format (currentdate, "dd-mm-yyyy") End Sub 

  • Результат будет как ниже.

Пример № 5 - Добавить секунды

  • Вы можете добавить время вместе с отображаемой датой. Чтобы получить это упомяните интервал как «s», который указывает секунды.
  • Для отображения пяти секунд с датой «28/3/2019» можно использовать приведенную ниже формулу.

Код:

 Sub addseconds () Dim currentdate As Date currentdate = DateAdd ("s", 5, "28/3/2019") Формат MsgBox (currentdate, "дд-мм-гггг чч: мм: сс") End Sub 

  • При отображении выхода с датой будут отображаться секунды.

Пример № 6 - Добавить недели

  • Чтобы добавить количество недель с указанной датой, используйте интервал как «WW»
  • Код для поиска даты по истечении указанного количества недель от «27/03/2016»

Код:

 Sub addweek () Dim currentdate As Date currentdate = DateAdd ("WW", 2, "27/3/2019") MsgBox Format (currentdate, "dd-mm-yyyy") End Sub 

  • Выходной будет дата через 2 недели.

Пример № 7 - Добавить часы

  • Чтобы получить конкретное время с датой, это используется.
  • В интервале укажите «ч», а также измените формат вывода.
  • Код для получения часов, напечатанных с датой:

Код:

 Sub addhour () Dim currentdate As Date currentdate = DateAdd ("h", 12, "27/3/2019") Формат MsgBox (currentdate, "дд-мм-гггг чч: мм: сс") End Sub 

  • Результат будет показан со временем в формате чч: мм: сс.

Пример № 8 - Как вычесть недели с помощью функции VBA DateAdd?

Подобно сложению, вычитание может также выполняться с использованием функции VBA DateAdd. Числа указаны как положительные целые числа вместе с формулой. Чтобы выполнить вычитание, используйте эти числа как отрицательные целые числа. Например, измените формулу, как показано ниже.

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

С помощью вышеуказанного метода постараюсь найти день, вычитающий три недели из '28/3/2019'

  • Создайте подпроцедуру как субдату.

Код:

 Sub subdate () End Sub 

  • Определите переменную для хранения результата. Currentdate - это переменная типа даты для назначения окончательного результата.

Код:

 Sub subdate () Dim currentdate As Дата Конец Sub 

  • Для вычитания трех недель из '28/3/2019' будет применяться формула. DateAdd («ww», -3, «28/3/2019»)

Код:

 Sub subdate () Dim currentdate As Date currentdate = DateAdd ("ww", -3, "28/3/2019") End Sub 

«-3» означает, что вычитание «ww» - это интервал, так как мы хотим работать неделями.

  • Формула применяется и результат сохраняется в currentdate.

Код:

 Sub subdate () Dim currentdate As Date currentdate = DateAdd ("ww", -3, "28/3/2019") MsgBox Format (currentdate, "dd-mm-yyyy") End Sub 

  • Результат после вычитания трех недель из указанной даты отображается ниже.

То, что нужно запомнить

  • Интервал и дата, указанные в формуле, будут указаны в двойных кавычках.
  • Если вы используете интервал будних дней «w», он будет работать так же, как и интервальный день «d», так как день недели вычисляет 1 = воскресенье, 2 = понедельник и т. Д. Таким образом, он будет считать выходные дни, даже если вы используете будние дни.
  • Выход будет отображаться в соответствии с настройками формата даты в вашей системе. Используйте формат вместе с окном сообщения, чтобы напечатать результат в нужном формате.
  • В функции DateAdd VBA используйте число как отрицательное для вычитания дат.

Рекомендуемые статьи

Это руководство к функции Excel VBA DateAdd. Здесь мы обсуждаем примеры функции VBA DateAdd для добавления и вычитания дней, месяцев и лет из заданной даты вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. Как использовать функцию даты в VBA?
  2. Формат даты в Excel VBA
  3. Что такое время VBA в Excel?
  4. Формула даты в Excel с примерами

Категория: