Функция 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, който можете да изтеглите. Можете да разгледате и другите ни предложени статии -
- VBA деклариране на масив (примери)
- Пълно ръководство за VBA при грешка
- Метод на незащитен лист във VBA
- Графи VBA | Шаблон на Excel
- VBA Environment