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. Вы также можете просмотреть наши другие предлагаемые статьи -
- Как использовать функцию даты в VBA?
- Формат даты в Excel VBA
- Что такое время VBA в Excel?
- Формула даты в Excel с примерами