Оглавление
Сайт Функция VBA DateAdd находится в категории дата и время в Excel Функции VBA С помощью этой функции мы можем прибавлять или вычитать годы, месяцы, дни, кварталы и даже различные временные интервалы, такие как часы, минуты, секунды, от заданной даты. Работа с датой и временем в ежедневных расчетах для создания отчетов или проведения сравнений является обычным сценарием. В Excel использование функций даты и времени VBA, таких как функция DateAdd, позволяет выполнять сложные или трудоемкие расчеты.эффективнее и быстрее.
Скачать рабочую тетрадь по практике
Скачайте эту рабочую тетрадь для тренировок, чтобы заниматься во время чтения этой статьи.
Введение в функцию 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. Надеемся, что это поможет вам более уверенно использовать эту функцию. Любые вопросы или предложения не забудьте оставить в поле для комментариев ниже