Функція 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, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -

  1. VBA оголосити масив (приклади)
  2. Повне керівництво по VBA про помилку
  3. Метод незахищених листів у VBA
  4. Стовпці VBA | Шаблон Excel
  5. VBA Environment

Категорія: