Функция VBA DateDiff

DateDiff Описание

Возвращает разницу между двумя значениями даты на основе указанного интервала.

Простые примеры DateDiff

Вот простой пример DateDiff:

123 Sub DateDiff_Year ()MsgBox DateDiff ("гггг", # 1/1/2019 #, # 8/1/2021 #)Конец подписки

Этот код вернет 2. Это разница по годам (обозначается «гггг») между 2 днями. (2021 - 2022 = 2)

В приведенном выше примере изменение позиций date1 и date2.

123 Sub DateDiff_Year ()MsgBox DateDiff ("гггг", # 8/1/2021 #, # 1/1/2019 #)Конец подписки

Этот код вернет -2.

Синтаксис DateDiff

В редакторе VBA вы можете ввести «DateDiff (», чтобы увидеть синтаксис функции DateDiff:

Функция DateDiff содержит 5 аргументов:

Интервал: Единица времени (дни, месяцы, годы и т. Д.). Введите как строку. (например, «m» для месяца)

Параметр Описание
гггг Год
q Четверть
м Месяц
у День года
d День
ш Будний день
ww Неделя
час Час
п Минуты
s Второй

Дата1, Дата2: Две даты, которые вы хотите использовать в расчетах.

FirstDayOfWeek: Константа, указывающая первый день недели. Это необязательно. Если не указано иное, предполагается воскресенье.

Постоянный Ценить Описание
vbUseSystem 0 Используйте настройку NLS API.
vbВоскресенье 1 Воскресенье (по умолчанию)
vbпонедельник 2 понедельник
vbвторник 3 вторник
vbСреда 4 среда
vb Четверг 5 четверг
vbFriday 6 Пятница
vbСуббота 7 Суббота

Первая неделя года: Константа, определяющая первую неделю года. Это необязательно. Если не указано иное, первой неделей считается 1 января.

Постоянный Ценить Описание
vbUseSystem 0 Используйте настройку NLS API.
vbFirstJan1 1 Начните с недели, на которой приходится 1 января (по умолчанию).
vbFirstFourDays 2 Начните с первой недели, в которой в новом году не менее четырех дней.
vbFirstFullWeek 3 Начните с первой полной недели года.

Программирование на VBA | Генератор кода действительно работает для вас!

Примеры функции Excel VBA DateDiff

Ссылки на даты

Для начала мы продемонстрируем различные способы ссылки на даты с помощью функции VBA DateDiff.

Каждая из этих функций DateDiff дает одинаковый результат:

123456789 Подложка DateDiff_ReferenceDates ()MsgBox DateDiff ("м", № 4/1/2019 #, # 8/1/2021 #)MsgBox DateDiff ("m", DateSerial (2019, 4, 1), DateSerial (2021, 8, 1))MsgBox DateDiff ("m", DateValue ("1 апреля 2022 г."), DateValue ("1 августа 2022 г."))Конец подписки

Или вы можете ссылаться на ячейки, содержащие даты:

12345 Подложка DateDiff_ReferenceDates_Cell ()MsgBox DateDiff ("m", Range ("C2"). Value, Range ("C3"). Value)Конец подписки

Или создайте переменные даты и укажите ссылку на них:

123456789 Подложка DateDiff_Variable ()Dim dt1 как дата, dt2 как датаdt1 = # 4/1/2019 #dt2 = # 8/1/2021 #MsgBox DateDiff ("m", dt1, dt2)Конец подписки

Устали искать примеры кода VBA? Попробуйте AutoMacro!

Использование разных единиц интервала

Кварталы

123 Подложка DateDiff_Quarter ()MsgBox "количество кварталов:" & DateDiff ("q", # 1/1/2019 #, # 1/1/2021 #)Конец подписки

Месяцы

123 Sub DateDiff_Month ()MsgBox "количество месяцев:" & DateDiff ("m", # 1/1/2019 #, # 1/1/2021 #)Конец подписки

Дни

123 Sub DateDiff_Day ()MsgBox "количество дней:" & DateDiff ("d", # 1/1/2019 #, # 1/1/2021 #)Конец подписки

Недели

123 Sub DateDiff_Week ()MsgBox "количество недель:" & DateDiff ("w", # 1/1/2019 #, # 1/1/2021 #)Конец подписки

Часы

123456789101112 Sub DateDiff_Hour ()Dim dt1 как датаDim dt2 как датаDim nDiff As Longdt1 = # 14.08.2019 9:30:00 #dt2 = # 14.08.2019 13:00:00 #nDiff = DateDiff ("h", dt1, dt2)MsgBox "часы:" & nDiffКонец подписки

Минуты

123 Sub DateDiff_Minute ()MsgBox "mins:" & DateDiff ("n", # 14.08.2019 9:30:00 #, # 14.08.2019 9:35:00 #)Конец подписки

Секунды

123 Подложка DateDiff_Second ()MsgBox "secs:" & DateDiff ("s", # 14.08.2019 9:30:10 #, # 14.08.2019 9:30:22 #)Конец подписки

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave