Как использовать функцию VBA DateAdd в Excel

  • Поделись Этим
Hugh West

Сайт Функция VBA DateAdd находится в категории дата и время в Excel Функции VBA С помощью этой функции мы можем прибавлять или вычитать годы, месяцы, дни, кварталы и даже различные временные интервалы, такие как часы, минуты, секунды, от заданной даты. Работа с датой и временем в ежедневных расчетах для создания отчетов или проведения сравнений является обычным сценарием. В Excel использование функций даты и времени VBA, таких как функция DateAdd, позволяет выполнять сложные или трудоемкие расчеты.эффективнее и быстрее.

Скачать рабочую тетрадь по практике

Скачайте эту рабочую тетрадь для тренировок, чтобы заниматься во время чтения этой статьи.

VBA DateAdd Function.xlsm

Введение в функцию Excel VBA DateAdd

Результат:

дата, к которой прибавляется или вычитается определенный интервал времени

Синтаксис:

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

Аргументы:

Аргумент Обязательно/Опционально Описание
интервал Требуется A строка выражение.

Интервал времени в различных настройках, который мы хотим добавить номер Требуется A числовой выражение .

Сайт номер из интервалы добавлять или вычитать

Может быть позитивный - для будущее даты

Может быть отрицательный - для прошлое даты дата Требуется A дата выражение

Сайт дата к которому интервалы являются добавлено

Настройки:

Сайт Функция DateAdd имеет эти настройки интервалов:

Настройка Описание
yyyy Год
q Квартал
m Месяц
y Год дня
d День
w Будний день
ww Неделя
h Час
n Минута
s Второй

Примеры использования функции DateAdd в Excel VBA

Формулы выражения функции Excel DateAdd

Существуют различные способы размещения дата аргумент в Функция 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("Jan 1, 2022")) Range("D6") = DateAdd("yyyy", 2, Range("B6")) End Sub 

Пояснение :

DateAdd("yyyy",2, один из следующих методов)

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

  • #1/1/2011#
  • DateSerial( год , месяц, день)
  • DateValue( дата )
  • Диапазон ("cell") - Дата, хранящаяся в ячейке
  • Хранение даты в переменной

В клетках D3, D4, D5, D6, D7 мы помещаем вышеупомянутые методы в качестве дата аргумент DateAdd функцию последовательно и получил тот же результат.

Мы добавили 2 больше лет на 1/1/2022 что привело к 1/1/2024.

Вот,

yyyy представляет год как интервал

2 представляет количество интервалов как номер .

Помощь: Как выполнить код в редакторе Visual Basic

Выполните следующие действия:

  • Из Лента Excel перейдите по ссылке Вкладка разработчика и выберите Visual Basic Таб.

  • В новом окне нажмите кнопку Вставка вкладку и выберите Модуль.

  • Напишите свой код в редакторе и нажмите F5 на бежать.

Добавление различных параметров интервала с помощью функции DateAdd в Excel

1. Добавить год

Код:

 Sub DateAdd_Years() Range("F5") = DateAdd("yyyy", 2, Range("D5")) End Sub 

Результат: 2 года добавленный к 1/1/2022 (mm/dd/yyyy) и привел к тому, что 1/1/2024 (mm//dd/yyyy).

Читать далее: Как использовать функцию Year в Excel VBA

2. Добавить квартал

Код:

 Sub DateAdd_Quarters() Range("F5") = DateAdd("q", 2, Range("D5")) End Sub 

Результат: 2 квартала = 6 месяцев добавленный к 1/1/2022 (mm/dd/yyyy) и привел к тому, что 7/1/2022 (mm//dd/yyyy).

3. Добавить месяц

Код:

 Sub DateAdd_Months() Range("F5") = DateAdd("m", 2, Range("D5")) End Sub 

Результат: 2 месяца добавленный к 1/1/2022 (mm/dd/yyyy) и привел к тому, что 3/1/2022 (mm//dd/yyyy).

Читать далее: Как использовать функцию МЕСЯЦ в Excel VBA

4. Добавить день года

Код:

 Sub DateAdd_DayOfYear() Range("F5") = DateAdd("y", 2, Range("D5")) End Sub 

Результат : 2 День года добавлен на 1/1/2022 (mm/dd/yyyy) и привел к тому, что 1/3/2022 (mm//dd/yyyy).

Читать далее: Как использовать функцию "День" в Excel VBA

5. Добавить день

Код:

 Sub DateAdd_Day() Range("F5") = DateAdd("d", 2, Range("D5")) End Sub 

Результат: Добавлено 2 дня на 1/1/2022 (mm/dd/yyyy) и привел к тому, что 1/3/2022 (mm//dd/yyyy).

Похожие чтения

  • Excel VBA для поиска номера недели (6 быстрых примеров)
  • Как использовать функцию VBA DatePart в Excel (7 примеров)
  • Использование функции VBA DateSerial в Excel (5 простых приложений)
  • Как преобразовать дату из строки с помощью VBA (7 способов)

6. Добавить будний день

Код:

 Sub DateAdd_WeekDay() Range("F5") = DateAdd("w", 10, Range("D5")) End Sub 

Результат: Добавлено 10 дней недели на 1/1/2022 (mm/dd/yyyy) и привел к тому, что 1/11/2022 (mm//dd/yyyy).

7. Добавить неделю

Код:

 Sub DateAdd_Weeks() Range("F5") = DateAdd("ww", 2, Range("D5")) End Sub 

Результат: 2 недели = 14 добавленных дней на 1/1/2022 (mm/dd/yyyy) и привел к тому, что 1/15/2022 (mm//dd/yyyy).

Читать далее: Как получить день недели с помощью VBA

8. Добавить час

Код:

 Sub DateAdd_Hours() Range("F5") = DateAdd("h", 14, Range("D5")) End Sub 

Результат: добавлено 14 часов на 1/1/2022 12:00 (mm/dd/yyyy: hh/mm) и приводил к 1/1/2022 2:00 PM (mm//dd/yyyy : hh/mm).

9. Добавить минуту

Код:

 Sub DateAdd_Minutes() Range("F5") = DateAdd("n", 90, Range("D5")) End Sub 

Результат: 90 минут = 1,30 часа добавлено на 1/1/2022 12:00 (mm/dd/yyyy) и привел к тому, что 1/1/2022 1:30 УТРА (mm//dd/yyyy).

10. Добавить второй

Код:

 Sub DateAdd_Seconds() Range("F5") = DateAdd("s", 120, Range("D5")) End Sub 

Результат: 120 секунд = 2 минуты добавлено на 1/1/2022 12:00 (mm/dd/yyyy : hh/mm) и привело к тому, что 1/1/2022 12:02 (mm//dd/yyyy : hh/mm).

Использование функции DateAdd в Excel для вычитания различных параметров интервала

Аналогично, мы можем вычесть годы, месяцы, дни, часы, минуты и т.д. от даты, используя знак минус в фронт из аргумент числа Например:

Код:

 Sub DateAdd_Subtract_Years() Range("F5") = DateAdd("y", -2, Range("D5")) End Sub 

Результат: 2 года вычитается из 1/1/2022 (mm/dd/yyyy) и привел к тому, что 1/1/2020 (mm//dd/yyyy).

О чем следует помнить

  • Когда мы используем 'w' добавить будние дни всё сходится все дни недели включая субботу и воскресенье, а не только рабочие дни (как кто-то мог ожидать).
  • Функция DateAdd не выводит на экран значение недействительная дата Например, если мы добавим 1 месяц к 31 января 2022 года, то в результате получится 28 февраля 2022 года, а не 31 февраля 2022 года (его не существует).
  • Если мы вычтем более 122 лет от настоящего времени ан ошибка произойдет потому, что дата Excel начинается с сайта 1 января 1990 года.
  • Дата возврата функции DateAdd зависит от Панель управления Настройки даты.
  • Мы должны аргумент даты функции DateAdd в соответствии с параметром Свойство календаря Если календарик Григорианский , вход da аргумент также должны быть в Григорианский Аналогично, если календарь составлен в хиджри, аргумент даты должен быть в том же формате.

Заключение

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

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.