Функция DateDiff в Excel VBA

Функцията VBA Datediff осигурява разликата между два определени интервала. Тук интервалът може да бъде определен като часове / месеци / дни … и т.н., както е посочено от потребителя. Това е вградена функция в Excel и е категоризирана като функция „ Дата / Час “. Може да се използва като функция VBA в Excel.

Синтаксис :

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

1. Интервал:

  • Задължително е.
  • Тип: - израз на тип низ
  • Той изчислява разликата между двете дати.
Определяне (интервал) Описание / Обяснение
"с" секунди
"н" Минути
"З" Часа
"д" дни
"W" делничен
"Т" Месеци
"Първата световна война" седмица
"Y" Ден на годината
"Р" тримесечие
"Гггг" година

2. Дата1:

  • Задължително е.
  • Тип: - Дата.
  • Той представлява началната дата / час за изчисляване на датификата.

3. Дата2:

  • Задължително е.
  • Тип: - Дата.
  • Той представлява крайната дата / час за изчисляване на датификата.

4. Първи ден от седмицата:

  • Тя не е задължителна.
  • Тип: - Цифров или текстов.
  • Той указва деня, който се използва като първи ден от седмицата.
  • Ако този аргумент или параметър е пропуснат, той приема неделята (VbSunday) като първи ден от седмицата.

5. Първа седмица в годината

  • Тя не е задължителна.
  • Тип: - Цифров или текстов.
  • Той указва деня, който се използва като първа седмица в годината.
  • Ако този аргумент или параметър се пропусне, той приема 1 януари (vbFirstJan1) като първа седмица в годината.

Как да активирате раздела за програмисти в Excel?

Разделът за програмисти е задължителен на лентата на Excel, за да стартирате и пишете VBA макрос. По-долу са различните стъпки за активиране на раздела за програмисти в excel VBA:

Стъпка 1: Отидете на раздела File меню.

Стъпка 2: В менюто Файл щракнете върху Опции, разположени в последната от списъка с опции в менюто.

Стъпка 3: Кликнете върху Персонализиране на лентата за достъп до опциите за персонализиране на лентата.

Стъпка 4: Тук в опциите за персонализиране можете да видите опцията за програмисти . Поставете отметка, така че тя да се активира на основната лента на excel и лесно да бъде достъпна. Щракнете върху OK, след като проверите опцията за програмисти.

Щом натиснете 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 AM # 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 AM # dt2 = # 4/19/2019 11:00:00 AM # MsgBox DateDiff („h“, dt1, dt2) Край Sub 

Стъпка 4: Стартирайте кода чрез натискане на клавиша F5 или чрез натискане на бутона Възпроизвеждане. Така че резултатът ще бъде показан в полето за съобщения.

Пример №2

В примера по-долу функцията datiiff изчислява броя години между двете дати „09/06/2016“ и „16/12/2020“. Тук незадължителните параметри не се вземат под внимание.

Код:

 Sub AA () 'Годишна разлика MsgBox DateDiff ("yyyy", "09/06/2016", "16/12/2020") Край Sub 

За да стартирате програмата, натиснете раздела „ F8 “ или „ Run “. Резултатът ще бъде показан в полето за съобщения.

Пример №3

В примера по- долу функцията datiiff изчислява броя месеци между двете дати „09/06/2016“ и „16/12/2020“. Тук незадължителните параметри не се вземат под внимание.

Код:

 Sub AA1 () „месечна разлика MsgBox DateDiff („ m “, „ 09/06/2016 “, „ 16/12/2020 “) End Sub 

За да стартирате програмата, натиснете раздела „ F8 “ или „ Run “. Резултатът ще бъде показан в полето за съобщения.

Пример №4

В примера по-долу функцията datiiff изчислява броя седмици между двете дати „09/06/2016“ и „16/12/2020“. Тук незадължителните параметри не се вземат под внимание.

Код:

 Sub AA2 () 'седмична разлика MsgBox DateDiff ("ww", "09/06/2016", "16/12/2020") End Sub 

За да стартирате програмата, натиснете раздела „ F8 “ или „ Run “. Резултатът ще бъде показан в полето за съобщения.

Пример №5

В примера по-долу, функцията “ dateiff ” изчислява броя на четвъртинките между двете дати “09/06/2016” и “16/12/2020”. Тук незадължителните параметри не се вземат под внимание.

Код:

 Sub AA3 () 'четвърт разлика MsgBox DateDiff ("q", "09/06/2016", "16/12/2020") Край Sub 

За да стартирате програмата, натиснете раздела „ F8 “ или „ Run “. Резултатът ще бъде показан в полето за съобщения.

Пример №6

В примера по-долу, функцията „ dateiff “ изчислява броя на дните между двете дати „09/06/2016“ и „16/12/2020“. Тук незадължителните параметри не се вземат под внимание.

Код:

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

За да стартирате програмата, натиснете раздела „ F8 “ или „ Run “. Резултатът ще бъде показан в полето за съобщения.

Пример №7

В примера по-долу, функцията " dateiff " изчислява броя часове между двете дати и час "9:00 на 01/01/2010 " и "11:00 на 19/04/2019".

Код:

 Sub bb1 () „Изчислете броя на часовете между 1/1/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 ("h", dt1, dt2) End Sub 

За да стартирате програмата, натиснете раздела „ F8 “ или „ Run “. Резултатът ще бъде показан в полето за съобщения.

Пример №8

В примера по-долу, функцията " dateiff " изчислява броя секунди между двете дати и час "9:00 на 01/01/2010 " и "11:00 на 19/04/2019".

Код:

 Sub bb2 () „Изчислете броя на секундите между 1/1/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 “ или „ Run “. Резултатът ще бъде показан в полето за съобщения.

Пример №9

В примера по-долу, функцията " dateiff " изчислява броя минути между двете дати и час "9:00 на 01/01/2010 " и "11:00 на 19/04/2019".

Код:

 Sub bb3 () „Изчислете броя на минутите между 1/1/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 “ или „ Run “. Резултатът ще бъде показан в полето за съобщения.

Пример №10

Ако аргументът е посочен като „w“ (седмици), функцията „Datediff“ връща числото за цялата седмица между двете дати. Частичните седмици се игнорират. В примера функцията „ DateDiff “ изчислява броя на цели седмици между датите 01/01/2010 и 19/4/2019.

Код:

 Под bb4 () „Изчислете броя на седмиците между 1/1/2010 и 19/4/2010 Dim dt1 като дата Dim dt2 като дата dt1 = # 1/1/2010 # dt2 = # 4/19/2010 # MsgBox DateDiff ("w", dt1, dt2) Край Sub 

За да стартирате програмата, натиснете раздела „ F8 “ или „ Run “. Резултатът ще бъде показан в полето за съобщения.

Пример №11

Ако аргументът е посочен като “ww” (календарни седмици), функцията “Datediff” предоставя броя седмици между началото на седмицата, съдържаща Date1, и началото на седмицата, съдържаща Date2.

Код:

 Под bb5 () „Изчислете броя на календарните седмици между 1/1/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 “ или „ 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 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 “ или „ Run “. Резултатът ще бъде показан в полето за съобщения.

След това кликнете върху „ Ok “, за да получите следващия резултат.

заключение

По този начин функцията „ DateDiff “ помага да се определи колко точно определени интервали от време съществуват между две определени дати и времена.

Препоръчителни статии

Това е ръководство за VBA DateDiff. Тук обсъждаме как да използвате функцията DateDiff в Excel VBA заедно с практически примери и шаблон за Excel, който можете да изтеглите. Можете да разгледате и другите ни предложени статии -

  1. VBA деклариране на масив (примери)
  2. Пълно ръководство за VBA при грешка
  3. Метод на незащитен лист във VBA
  4. Графи VBA | Шаблон на Excel
  5. VBA Environment

Категория: