Функція DateDiff в Excel VBA
Функція VBA Datediff забезпечує різницю між двома заданими інтервалами. Тут інтервал може бути вказаний як години / місяці / дні… тощо, як визначено користувачем. Це вбудована функція в Excel і віднесена до категорії « Дата / Час ». Він може використовуватися як функція “ VBA ” в Excel.
Синтаксис :
Параметр або аргументи, використовувані у функції DateDiff.
1. Інтервал:
- Це обов’язково.
- Тип: - Вираз рядкового типу.
- Він обчислює різницю між двома датами.
Налаштування (інтервал) | Опис / пояснення |
"S" | Секунди |
"N" | Хвилини |
"H" | Години |
"D" | Днів |
"W" | Будній день |
"М" | Місяці |
"Ww" | Тиждень |
"У" | День року |
"Q" | Чверть |
"Yyyy" | Рік |
2. Дата1:
- Це обов’язково.
- Тип: - Дата.
- Він представляє дату / час початку для обчислення дати.
3. Дата2:
- Це обов’язково.
- Тип: - Дата.
- Він представляє кінцеву дату / час для обчислення дати.
4. Перший день тижня:
- Це необов’язково.
- Тип: - числовий чи текстовий.
- Він визначає день, який використовується як перший день тижня.
- Якщо цей аргумент або параметр опущено, він вважає неділю (VbSunday) як перший день тижня.
5. Перший тиждень року
- Це необов’язково.
- Тип: - числовий чи текстовий.
- Він визначає день, який використовується як перший тиждень року.
- Якщо цей аргумент або параметр опущено, він вважається, що перший січень (vbFirstJan1) вважається першим тижнем року.
Як увімкнути вкладку розробника в Excel?
Вкладка розробника є обов'язковою на стрічці Excel для запуску та запису макросу VBA. Нижче наведено кілька кроків для ввімкнення вкладки розробників у програмі VBA:
Крок 1: Перейдіть на вкладку меню Файл .
Крок 2: У меню «Файл» натисніть « Параметри», розташовані в останньому списку доступних опцій під меню.
Крок 3: Клацніть на Налаштувати стрічку, щоб отримати доступ до параметрів налаштування стрічки.
Крок 4: Тут у параметрах налаштування ви можете побачити параметр розробника . Поставте цей прапорець, щоб він активувався на головній стрічці excel і був легко доступний. Натисніть кнопку ОК після перевірки параметра "Розробник".
Як тільки ви натиснете OK, ви побачите активну вкладку Developer у меню стрічки Excel із низкою різних опцій, доступних під. Дивіться скріншот нижче.
Як використовувати функцію DateDiff в Excel VBA?
Нижче наведено декілька етапів використання функції DateDiff у Excel VBA:
Ви можете завантажити шаблон VBA DateDiff Excel тут - шаблон VBA DateDiff ExcelПриклад №1
У цьому прикладі виконайте наведені нижче дії для використання функції DateDiff у VBA:
Крок 1: Спершу створіть ім’я макросу.
Код:
Sub bb () Кінець Sub
Крок 2: Дві змінні визначаються як дата та призначена їм дата.
Код:
Sub bb () Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 # dt2 = # 4/19/2019 11:00:00 # Закінчення Sub
Крок 3: Напишіть синтаксис функції Datediff, взявши необхідний аргумент, і призначте його через поле VBA з повідомленням.
Код:
Sub bb () Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 # dt2 = # 4/19/2019 11:00:00 # MsgBox DateDiff ("h", dt1, dt2) Кінець підряд
Крок 4: Запустіть код, натиснувши клавішу F5 або натиснувши кнопку Відтворити. Так що результат буде відображено у вікні повідомлення.
Приклад №2
У наведеному нижче прикладі функція датифікування обчислює кількість років між двома датами "09/06/2016" та "16/12/2020". Тут необов'язкові параметри не враховуються.
Код:
Sub AA () 'Різниця в році MsgBox DateDiff ("yyyy", "06.06.2016", "16/12/2020") Кінець Sub
Для запуску програми натисніть на вкладку “ F8 ” або “ Run ”. Результат буде відображено у вікні повідомлення.
Приклад №3
У наведеному нижче прикладі функція датифікування обчислює кількість місяців між двома датами "06.06.2016" та "16/12/2020". Тут необов'язкові параметри не враховуються.
Код:
Sub AA1 () 'місячна різниця MsgBox DateDiff ("m", "06.06.2016", "16/12/2020") Кінець Sub
Для запуску програми натисніть на вкладку “ F8 ” або “ Run ”. Результат буде відображено у вікні повідомлення.
Приклад №4
У наведеному нижче прикладі функція датування визначає кількість тижнів між двома датами "06.06.2016" та "16/12/2020". Тут необов'язкові параметри не враховуються.
Код:
Sub AA2 () 'різниця тижнів MsgBox DateDiff ("ww", "09/06/2016", "16/12/2020") Кінець Sub
Для запуску програми натисніть на вкладку “ F8 ” або “ Run ”. Результат буде відображено у вікні повідомлення.
Приклад №5
У наведеному нижче прикладі функція " датифік " обчислює кількість чвертів між двома датами "06.06.2016" та "16/12/2020". Тут необов'язкові параметри не враховуються.
Код:
Sub AA3 () 'чверть різниці MsgBox DateDiff ("q", "06.06.2016", "16/12/2020") Кінець Sub
Для запуску програми натисніть на вкладку “ F8 ” або “ Run ”. Результат буде відображено у вікні повідомлення.
Приклад №6
У наведеному нижче прикладі функція " датифік " обчислює кількість днів між двома датами "06.06.2016" та "16/12/2020". Тут необов'язкові параметри не враховуються.
Код:
Sub AA4 () 'різниця днів MsgBox DateDiff ("d", "06.06.2016", "16/12/2020") Кінець Sub
Для запуску програми натисніть на вкладку “ F8 ” або “ Run ”. Результат буде відображено у вікні повідомлення.
Приклад №7
У наведеному нижче прикладі функція " датифік " обчислює кількість годин між двома датами та часом "9:00 01.01.2010 " та "11:00 19.04.04".
Код:
Під bb1 () "Обчисліть кількість годин між 1.01.2010 9:00 та 19/4/2019 11:00 Dim dt1 як дата Dim dt2 Як дата dt1 = # 1/1/2010 9:00:00 # dt2 = # 4/19/2019 11:00:00 # MsgBox DateDiff ("h", dt1, dt2) Кінець Sub
Для запуску програми натисніть на вкладку “ F8 ” або “ Run ”. Результат буде відображено у вікні повідомлення.
Приклад №8
У наведеному нижче прикладі функція " датифік " обчислює кількість секунд між двома датами та часом "9:00 01.01.2010 " та "11:00 19.04.04".
Код:
Sub bb2 () 'Обчисліть кількість секунд між 1.01.2010 9:00 та 19/4/2019 11:00 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 # MsgBox DateDiff ("s", dt1, dt2) Кінець Sub
Для запуску програми натисніть на вкладку “ F8 ” або “ Run ”. Результат буде відображено у вікні повідомлення.
Приклад №9
У наведеному нижче прикладі функція " датифік " обчислює кількість хвилин між двома датами та часом "9:00 01.01.2010 " та "11:00 19.04.04".
Код:
Sub bb3 () "Обчисліть кількість хвилин між 1.01.2010 9:00 та 19/4/2019 11:00 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 # MsgBox DateDiff ("n", dt1, dt2) Кінцевий підзаголовок
Для запуску програми натисніть на вкладку “ F8 ” або “ Run ”. Результат буде відображено у вікні повідомлення.
Приклад №10
Якщо аргумент вказано як «w» (тижні), функція «Датедіфф» повертає число всього тижня між двома датами. Часткові тижні ігноруються. У прикладі, функція “ DateDiff ” обчислює кількість цілих тижнів між датами 01.01.2010 та 19/4/2019.
Код:
Sub bb4 () 'Обчисліть кількість тижнів між 1.01.2010 та 19/4/2010 Dim dt1 як дата Dim dt2 As Date dt1 = # 1/1/2010 # dt2 = # 4/19/2010 # MsgBox DateDiff ("w", dt1, dt2) Закінчення Sub
Для запуску програми натисніть на вкладку “ F8 ” або “ Run ”. Результат буде відображено у вікні повідомлення.
Приклад №11
Якщо аргумент вказано як "ww" (календарні тижні), функція "Datediff" надає кількість тижнів між початком тижня, що містить Date1, і початком тижня, що містить Date2.
Код:
Під bb5 () "Обчисліть кількість календарних тижнів між 1.01.2010 та 19/4/2019" Перший день тижня = понеділок Dim dt1 як дата Dim dt2 Як дата dt1 = # 1/1/2010 # dt2 = №4 / 19/2019 # MsgBox DateDiff ("ww", dt1, dt2, vbMonday) Кінець Sub
Для запуску програми натисніть на вкладку “ F8 ” або “ Run ”. Результат буде відображено у вікні повідомлення.
Приклад №12
У наведеному нижче прикладі функція "датифік" використовується для дат "1/1/1990" та "1/1/1998"
Код:
Sub cc () Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/1990 9:00:00 # dt2 = # 1/11/1998 11:00:00 # MsgBox ("рядок 1:" & DateDiff ("h", dt1, dt2)) MsgBox ("рядок 2:" & DateDiff ("s", dt1, dt2)) MsgBox ("рядок 3:" & DateDiff ("n", dt1, dt2)) MsgBox ("рядок 4:" & DateDiff ("d", dt1, dt2)) MsgBox ("рядок 5:" & DateDiff ("m", dt1, dt2)) MsgBox ("рядок 6:" & DateDiff ("q", dt1, dt2)) MsgBox ("рядок 7:" & DateDiff ("w", dt1, dt2)) MsgBox ("рядок 8:" & DateDiff ("ww", dt1, dt2)) MsgBox ("рядок 9: "& DateDiff (" y ", dt1, dt2)) MsgBox (" рядок 10: "& DateDiff (" yyyy ", dt1, dt2)) Кінець Sub
Для запуску програми натисніть на вкладку “ F8 ” або “ Run ”. Результат буде відображено у вікні повідомлення.
Потім натисніть « Ок », щоб отримати наступний результат.
Висновок
Таким чином, функція " DateDiff " допомагає визначити, скільки визначених часових інтервалів існує між двома вказаними датами та часом.
Рекомендовані статті
Це посібник по VBA DateDiff. Тут ми обговорюємо, як використовувати функцію DateDiff в Excel VBA разом із практичними прикладами та шаблоном Excel, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -
- VBA оголосити масив (приклади)
- Повне керівництво по VBA про помилку
- Метод незахищених листів у VBA
- Стовпці VBA | Шаблон Excel
- VBA Environment