Функция 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. Вы также можете просмотреть наши другие предлагаемые статьи -
- VBA Объявление массива (примеры)
- Полное руководство по VBA при ошибке
- Снять защиту с листа в VBA
- VBA Колонны | Шаблон Excel
- VBA Environ