Съдържание
Сайтът Функция DateAdd на VBA е в категорията за дата и час на Excel Функции VBA С помощта на тази функция можем да добавяме или изваждаме години, месеци, дни, тримесечия и дори различни времеви интервали като часове, минути, секунди от дадена дата. Работата с дата и час в ежедневните изчисления за генериране на отчети или извършване на сравнения е често срещан сценарий. В Excel използването на VBA функции за дата и час като функцията DateAdd прави сложни или отнемащи време изчисления.по-ефективно и по-бързо.
Изтегляне на работната тетрадка за упражнения
Изтеглете тази учебна тетрадка, за да се упражнявате, докато четете тази статия.
VBA DateAdd Function.xlsmВъведение във функцията DateAdd на Excel VBA
Резултат:
дата, към която се добавя или изважда определен интервал от време.
Синтаксис:
DateAdd (интервал, число, дата)
Аргументи:
Аргумент | Задължително/незадължително | Описание |
---|---|---|
интервал | Изисква се | A низ изразяване. |
Интервалът от време в различни настройки, който искаме да добавим номер Изисква се A цифров изразяване .
Сайтът номер на интервали да се прибави или извади
Може да бъде положителен - за бъдеще дати
Може да бъде отрицателен - за минало дати дата Изисква се A дата изразяване
Сайтът дата към която интервали са добавен
Настройки:
Сайтът Функция DateAdd има тези настройки на интервала:
Задаване на | Описание |
---|---|
yyyy | Година |
q | Квартал |
m | Месец |
y | Година на деня |
d | Ден |
w | Седмичен ден |
ww | Седмица |
h | Час |
n | Минута |
s | Втори |
Примери за функцията DateAdd в Excel VBA
Формулни изрази на функцията DateAdd на Excel
Има различни начини за поставяне на дата аргумент в Функция 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( дата )
- Обхват ("клетка") - Дата, съхранена в клетка
- Съхраняване на датата в променлива
В клетките 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 (мм/дд/гггг) и доведе до 1/1/2024 (мм/дд/гггг).
Прочетете повече: Как да използвате функцията Year в Excel VBA
2. Добавяне на квартал
Код:
Sub DateAdd_Quarters() Range ("F5") = DateAdd("q", 2, Range("D5")) End Sub
Резултат: 2 тримесечия = 6 месеца добавени към 1/1/2022 (мм/дд/гггг) и доведе до 7/1/2022 (мм/дд/гггг).
3. Добавяне на месец
Код:
Sub DateAdd_Months() Range("F5") = DateAdd("m", 2, Range("D5")) End Sub
Резултат: 2 месеца добавени към 1/1/2022 (мм/дд/гггг) и доведе до 3/1/2022 (мм/дд/гггг).
Прочетете повече: Как да използвате функцията Excel VBA MONTH
4. Добавяне на ден от годината
Код:
Sub DateAdd_DayOfYear() Range("F5") = DateAdd("y", 2, Range("D5")) End Sub
Резултат : 2 Добавен ден от годината към 1/1/2022 (мм/дд/гггг) и доведе до 1/3/2022 (мм/дд/гггг).
Прочетете повече: Как да използвате функцията Ден в Excel VBA
5. Добавяне на ден
Код:
Sub DateAdd_Day() Range("F5") = DateAdd("d", 2, Range("D5")) End Sub
Резултат: добавени 2 дни към 1/1/2022 (мм/дд/гггг) и доведе до 1/3/2022 (мм/дд/гггг).
Подобни четива
- Excel VBA за намиране на номер на седмица (6 бързи примера)
- Как да използвате функцията DatePart във VBA в Excel (7 примера)
- Използване на функцията VBA DateSerial в Excel (5 лесни приложения)
- Как да конвертираме дата от низ с помощта на VBA (7 начина)
6. Добавяне на работен ден
Код:
Sub DateAdd_WeekDay() Range("F5") = DateAdd("w", 10, Range("D5")) End Sub
Резултат: добавени са 10 WeekDays към 1/1/2022 (мм/дд/гггг) и доведе до 1/11/2022 (мм/дд/гггг).
7. Добавяне на седмица
Код:
Sub DateAdd_Weeks() Range("F5") = DateAdd("ww", 2, Range("D5")) End Sub
Резултат: добавени 2 седмици= 14 дни към 1/1/2022 (мм/дд/гггг) и доведе до 1/15/2022 (мм/дд/гггг).
Прочетете повече: Как да получите деня от седмицата с помощта на 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 14:00 Ч. (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 Ч. (мм/дд/гггг) и доведе до 1/1/2022 1:30 Ч. (мм/дд/гггг).
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 (мм/дд/гггг) и доведе до 1/1/2020 (мм/дд/гггг).
Нещата, които трябва да запомните
- Когато използваме 'w' да добавите работни дни тя се натрупва всички дни от седмицата включително събота и неделя, а не само работните дни (както може би някой очаква).
- Функцията DateAdd в крайна сметка не показва невалидна дата Например, ако добавим 1 месец към 31 януари 2022 г., резултатът ще бъде 28 февруари 2022 г., а не 31 февруари 2022 г.(не съществува).
- Ако извадим повече от 122 години от сега. грешка ще се появи, защото датата в Excel започва от 1 януари 1990 г.
- Датата на връщане на функцията DateAdd зависи от Панел за управление Настройки на датата.
- Аргументът за дата на функцията DateAdd трябва да бъде в съответствие с Собственост на календара . Ако календарът е Грегориански , входът da аргумент те също трябва да бъде в Грегориански . По същия начин, ако календарът е в Хиджра, аргументът за датата трябва да бъде в същия формат.
Заключение
Сега вече знаем как да използваме функцията DateAdd на VBA в Excel. Надяваме се, че това ще ви насърчи да използвате тази функция по-уверено. Ако имате въпроси или предложения, не забравяйте да ги поставите в полето за коментари по-долу