Функція VBA DateDiff

Опис DateDiff

Повертає різницю між двома значеннями дати на основі зазначеного інтервалу.

Прості приклади DateDiff

Ось простий приклад DateDiff:

123 Sub DateDiff_Year ()MsgBox DateDiff ("рррр", #1/1/2019 #, #8/1/2021 #)End Sub

Цей код поверне 2. Це різниця між роками (позначена "рррр") між 2 днями. (2021-2022 = 2)

У наведеному вище прикладі зміна позицій date1 і date2.

123 Sub DateDiff_Year ()MsgBox DateDiff ("рррр", #8/1/2021 #, #1/1/2019 #)End Sub

Цей код поверне -2.

Синтаксис DateDiff

У редакторі VBA можна ввести “DateDiff (”, щоб побачити синтаксис функції DateDiff:

Функція DateDiff містить 5 аргументів:

Інтервал: Одиниця часу (дні, місяці, роки тощо). Введіть як рядок. (наприклад, "m" за місяць)

Налаштування Опис
рррр Рік
q Квартал
м Місяць
y День року
d День
w Будній день
ww Тиждень
h Година
n Хвилина
s По -друге

Дата1, дата2: Дві дати, які потрібно використати для обчислення.

Перший день тижня: Константа, яка визначає перший день тижня. Це необов’язково. Якщо не вказано, передбачається неділя.

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

Перша тиждень року: Константа, яка визначає перший тиждень року. Це необов’язково. Якщо не вказано, першим тижнем вважається тиждень, у який настає 1 січня.

Постійна Цінність Опис
vbUseSystem 0 Використовуйте налаштування API NLS.
vbFirstJan1 1 Почніть з тижня, коли настає 1 січня (за замовчуванням).
vbFirstFourDays 2 Почніть з першого тижня, який має принаймні чотири дні у новому році.
vbFirstFullWeek 3 Почніть з першого повного тижня в році.

Програмування VBA | Генератор коду працює для вас!

Приклади функції Excel VBA DateDiff

Посилання на дати

Для початку ми продемонструємо різні способи посилання на дати за допомогою функції VBA DateDiff.

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

123456789 Sub DateDiff_ReferenceDates ()MsgBox DateDiff ("m", #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"))End Sub

Або ви можете посилатися на клітинки, що містять дати:

12345 Sub DateDiff_ReferenceDates_Cell ()MsgBox DateDiff ("m", Діапазон ("C2"). Значення, Діапазон ("C3"). Значення)End Sub

Або створіть змінні дати та посилання:

123456789 Sub DateDiff_Variable ()Dim dt1 як дата, dt2 як датаdt1 = #4/1/2019 #dt2 = #8/1/2021 #MsgBox DateDiff ("m", dt1, dt2)End Sub

Втомилися від пошуку прикладів коду VBA? Спробуйте AutoMacro!

Використання різних одиниць інтервалу

Чверті

123 Sub DateDiff_Quarter ()MsgBox "кількість кварталів:" & DateDiff ("q", #1/1/2019 #, #1/1/2021 #)End Sub

Місяці

123 Sub DateDiff_Month ()MsgBox "кількість місяців:" & DateDiff ("m", #1/1/2019 #, #1/1/2021 #)End Sub

Днів

123 Sub DateDiff_Day ()MsgBox "кількість днів:" & DateDiff ("d", #1/1/2019 #, #1/1/2021 #)End Sub

Тижнів

123 Sub DateDiff_Week ()MsgBox "кількість тижнів:" & DateDiff ("w", #1/1/2019 #, #1/1/2021 #)End Sub

Години роботи

123456789101112 Sub DateDiff_Hour ()Dim dt1 як датаDim dt2 як датаDim nDiff As Longdt1 = #8/14/2019 9:30:00 ранку #dt2 = #14.08.2019 13:00:00 #nDiff = DateDiff ("h", dt1, dt2)MsgBox "години:" & nDiffEnd Sub

Хвилини

123 Sub DateDiff_Minute ()MsgBox "mins:" & DateDiff ("n", #8/14/2019 9:30:00 #, #8/14/2019 9:35:00 AM)End Sub

Секунди

123 Sub DateDiff_Second ()MsgBox "secs:" & DateDiff ("s", #8/14/2019 9:30:10 AM #, #8/14/2019 9:30:22 AM #)End Sub

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

wave wave wave wave wave