Функция DateDiff в Excel VBA

Функция VBA Datediff обеспечивает разницу между двумя указанными интервалами. Здесь интервал может быть указан как часы / месяцы / дни… и т. Д., Как указано пользователем. Это встроенная функция в Excel, которая относится к категории « Дата / Время ». Его можно использовать как функцию « VBA » в Excel.

Синтаксис :

Параметр или аргументы, используемые в функции DateDiff.

1. Интервал:

  • Это обязательно.
  • Тип: - Строковое выражение типа.
  • Он рассчитывает разницу между двумя датами.
Установка (интервал) Описание / Объяснение
«S» секунд
«П» минут
"час" часов
«Г» дней
«Ж» будний день
«М» Месяцы
«WW» Неделя
«У» День года
«Д» четверть
«Гггг» Год

2. Дата1:

  • Это обязательно.
  • Тип: - Дата.
  • Он представляет дату / время начала для расчета даты.

3. Дата2:

  • Это обязательно.
  • Тип: - Дата.
  • Он представляет конечную дату / время для расчета даты.

4. Первый день недели:

  • Это необязательно.
  • Тип: - Числовой или Текстовый.
  • Он указывает день, который используется в качестве первого дня недели.
  • Если этот аргумент или параметр опущен, он принимает воскресенье (VbSunday) в качестве первого дня недели.

5. Первая неделя года

  • Это необязательно.
  • Тип: - Числовой или Текстовый.
  • Указывает день, который используется в качестве первой недели года.
  • Если этот аргумент или параметр пропущен, он принимает 1 января (vbFirstJan1) в качестве первой недели года.

Как включить вкладку разработчика в Excel?

Вкладка разработчика является обязательной на ленте Excel для запуска и записи макроса VBA. Ниже приведены различные шаги для включения вкладки разработчиков в Excel VBA:

Шаг 1: Перейдите на вкладку меню « Файл ».

Шаг 2: В меню «Файл» нажмите « Параметры», расположенные в последнем списке доступных параметров под меню.

Шаг 3. Нажмите «Настроить ленту», чтобы получить доступ к параметрам настройки ленты.

Шаг 4: Здесь в опциях настройки вы можете увидеть опцию Developer . Отметьте его, чтобы он активировался на главной ленте Excel и был легко доступен. Нажмите OK после проверки опции Разработчик.

Как только вы нажмете «ОК», вы увидите активную вкладку «Разработчик» в ленточном меню Excel с множеством различных параметров, доступных в. Смотрите скриншот ниже.

Как использовать функцию DateDiff в Excel VBA?

Ниже приведены различные шаги для использования функции DateDiff в Excel VBA:

Вы можете скачать этот шаблон VBA DateDiff Excel здесь - Шаблон VBA DateDiff Excel

Пример № 1

В этом примере выполните следующие шаги, чтобы использовать функцию DateDiff в VBA:

Шаг 1: Сначала создайте имя макроса.

Код:

 Sub bb () End Sub 

Шаг 2: Две переменные определены как дата и назначенная им дата.

Код:

 Sub bb () Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 AM # End Sub 

Шаг 3: Напишите синтаксис функции Datediff с требуемым аргументом и назначьте его через окно сообщения VBA.

Код:

 Sub bb () Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 AM # MsgBox DateDiff ("h", dt1, dt2) End Sub 

Шаг 4: Запустите код, нажав клавишу F5 или нажав кнопку Play. Так что результат будет отображаться в окне сообщения.

Пример № 2

В приведенном ниже примере функция datediff вычисляет количество лет между двумя датами «09/06/2016» и «16/12/2020». Здесь необязательные параметры не принимаются во внимание.

Код:

 Sub AA () 'Разница в году MsgBox DateDiff ("гггг", "06.09.2016", "16.12.2020") End Sub 

Для запуска программы нажмите вкладку « F8 » или « Выполнить ». Результат будет отображен в окне сообщения.

Пример № 3

В приведенном ниже примере функция datediff вычисляет количество месяцев между двумя датами «09/06/2016» и «16/12/2020». Здесь необязательные параметры не принимаются во внимание.

Код:

 Sub AA1 () 'разница в месяце MsgBox DateDiff ("m", "09/06/2016", "16/12/2020") End Sub 

Для запуска программы нажмите вкладку « F8 » или « Выполнить ». Результат будет отображен в окне сообщения.

Пример № 4

В приведенном ниже примере функция datediff вычисляет количество недель между двумя датами «09/06/2016» и «16/12/2020». Здесь необязательные параметры не принимаются во внимание.

Код:

 Sub AA2 () 'разница в неделях MsgBox DateDiff ("ww", "09/06/2016", "16/12/2020") End Sub 

Для запуска программы нажмите вкладку « F8 » или « Выполнить ». Результат будет отображен в окне сообщения.

Пример № 5

В приведенном ниже примере функция « datediff » вычисляет количество кварталов между двумя датами «09/06/2016» и «16/12/2020». Здесь необязательные параметры не принимаются во внимание.

Код:

 Sub AA3 () 'квартальная разница MsgBox DateDiff ("q", "09/06/2016", "16/12/2020") End Sub 

Для запуска программы нажмите вкладку « F8 » или « Выполнить ». Результат будет отображен в окне сообщения.

Пример № 6

В приведенном ниже примере функция « datediff » вычисляет количество дней между двумя датами «09/06/2016» и «16/12/2020». Здесь необязательные параметры не принимаются во внимание.

Код:

 Sub AA4 () 'разница дней MsgBox DateDiff ("d", "09/06/2016", "16/12/2020") End Sub 

Для запуска программы нажмите вкладку « F8 » или « Выполнить ». Результат будет отображен в окне сообщения.

Пример № 7

В приведенном ниже примере функция « datediff » вычисляет количество часов между двумя датами и временем: «9:00 01.01.2010» и «11:00 19/04/2019».

Код:

 Sub bb1 () 'Рассчитать количество часов между 01.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 AM # MsgBox DateDiff ("h", dt1, dt2) End Sub 

Для запуска программы нажмите вкладку « F8 » или « Выполнить ». Результат будет отображен в окне сообщения.

Пример № 8

В приведенном ниже примере функция « datediff » вычисляет количество секунд между двумя датами и временем: «9:00 01.01.2010» и «11:00 19/04/2019».

Код:

 Sub bb2 () 'Рассчитать количество секунд между 01.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 AM # MsgBox DateDiff ("s", dt1, dt2) End Sub 

Для запуска программы нажмите вкладку « F8 » или « Выполнить ». Результат будет отображен в окне сообщения.

Пример № 9

В приведенном ниже примере функция « datediff » вычисляет количество минут между двумя датами и временем: «9:00 01.01.2010» и «11:00 19/04/2019».

Код:

 Sub bb3 () 'Рассчитать количество минут между 01.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 AM # MsgBox DateDiff ("n", dt1, dt2) End Sub 

Для запуска программы нажмите вкладку « F8 » или « Выполнить ». Результат будет отображен в окне сообщения.

Пример № 10

Если аргумент указан как «w» (недели), функция «Datediff» возвращает номер целой недели между двумя датами. Частичные недели игнорируются. В этом примере функция « DateDiff » вычисляет количество целых недель между датами 01.01.2010 и 19.04.2009.

Код:

 Sub bb4 () 'Рассчитать количество недель между 01.01.2010 г. и 19.04.2010 г. Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 # dt2 = # 4/19/2010 # MsgBox DateDiff ("w", dt1, dt2) End Sub 

Для запуска программы нажмите вкладку « F8 » или « Выполнить ». Результат будет отображен в окне сообщения.

Пример № 11

Если аргумент указан как «ww» (календарные недели), функция «Datediff» предоставляет количество недель между началом недели, содержащей Date1, и началом недели, содержащей Date2.

Код:

 Sub bb5 () 'Рассчитать количество календарных недель между 01.01.2010 и 19/4/2019' Первый день недели = понедельник Dim dt1 как дата Dim dt2 как дата dt1 = # 1/1/2010 # dt2 = # 4/19/2019 # MsgBox DateDiff ("ww", dt1, dt2, vbMonday) End Sub 

Для запуска программы нажмите вкладку « F8 » или « Выполнить ». Результат будет отображен в окне сообщения.

Пример № 12

В приведенном ниже примере функция «datediff» используется для дат «1/1/1990» и «1/1/1998»

Код:

 Sub cc () Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/1990 9:00:00 AM # dt2 = # 1/11/1998 11:00:00 AM # 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)) End Sub 

Для запуска программы нажмите вкладку « F8 » или « Выполнить ». Результат будет отображен в окне сообщения.

Затем нажмите « ОК », чтобы получить следующий результат.

Вывод

Таким образом, функция « DateDiff » помогает определить, сколько существует указанных интервалов времени между двумя указанными датами и временем.

Рекомендуемые статьи

Это руководство по VBA DateDiff. Здесь мы обсудим, как использовать функцию DateDiff в Excel VBA вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. VBA Объявление массива (примеры)
  2. Полное руководство по VBA при ошибке
  3. Снять защиту с листа в VBA
  4. VBA Колонны | Шаблон Excel
  5. VBA Environ

Категория: