DateDiff függvény az Excel VBA-ban
A VBA Datediff funkció biztosítja a különbséget két meghatározott intervallum között. Itt az intervallum órák / hónapok / napok stb. Lehet, a felhasználó által megadva. Ez egy beépített funkció az Excel programban, és „ Dátum / Idő ” funkciónak minősül. Használható „ VBA ” függvényként az Excelben.
Szintaxis :
A DateDiff funkcióban használt paraméter vagy érvek.
1. Intervallum:
- Ez kötelező.
- Típus: - Karakterlánc típusú kifejezés.
- Kiszámítja a két dátum közötti különbséget.
Beállítás (intervallum) | Leírás / Magyarázat |
„S” | másodperc |
„N” | Percek |
„H” | Órák |
„D” | Napok |
„W” | Hétköznap |
„M” | Hónapok |
„Ww” | Hét |
„Y” | Az év napja |
„Q” | Negyed |
„Yyyy” | Év |
2. dátum1:
- Ez kötelező.
- Típus: - Dátum.
- Ez a dátuma kiszámításának kezdő dátumát / időpontját képviseli.
3. dátum2:
- Ez kötelező.
- Típus: - Dátum.
- Ez a befejezés dátumát / időpontját jelöli a dátuma kiszámításához.
4. A hét első napja:
- Ez opcionális.
- Típus: - numerikus vagy szöveg.
- Megadja azt a napot, amelyet a hét első napjának használnak.
- Ha ezt az érvet vagy paramétert elhagyja, akkor a vasárnapot (VbSunday) veszi fel a hét első napjává.
5. Az év első hete
- Ez opcionális.
- Típus: - numerikus vagy szöveg.
- Megadja azt a napot, amelyet az év első heteként használnak.
- Ha ezt az érvet vagy paramétert elhagyja, akkor az év első hetének január 1-jét (vbFirstJan1) kell feltételezni.
Hogyan lehet engedélyezni a Fejlesztői lapot az Excel programban?
A VBA makró elindításához és írásához a fejlesztői fül kötelező az Excel szalagon. Az alábbiakban bemutatjuk azokat a különféle lépéseket, amelyekkel az Excel VBA fejlesztői lapot engedélyezhetjük:
1. lépés: Lépjen a Fájl menü fülre.
2. lépés: A Fájl menüben kattintson a Menü a rendelkezésre álló lehetőségek listája utolsó részén található Opciók elemre.
3. lépés: Kattintson a Szalag testreszabása elemre a szalag testreszabási lehetőségeinek eléréséhez.
4. lépés: Itt a testreszabási beállításokban láthatja a Fejlesztő lehetőséget. Jelölje be, hogy aktiválódjon az excel fő szalagján, és könnyen hozzáférhető legyen. A Fejlesztő opció ellenőrzése után kattintson az OK gombra .
Amint megnyomja az OK gombot, láthatja az Excel szalagmenü aktív Fejlesztő lapját, egy csomó különféle lehetőséggel, amelyek az alábbiakban találhatók. Lásd az alábbi képernyőképet.
Hogyan lehet használni a DateDiff függvényt az Excel VBA alkalmazásban?
Az alábbiakban bemutatjuk a DateDiff függvény használatának különböző lépéseit az Excel VBA alkalmazásban:
Itt töltheti le a VBA DateDiff Excel sablont - VBA DateDiff Excel sablon1. példa
Ebben a példában kövesse az alábbi lépéseket a DateDiff Function használatához a VBA-ban:
1. lépés: Először hozzon létre egy makrónevet.
Kód:
Bb. Al) befejezés al
2. lépés: Két változót definiálnak dátumként, és hozzárendelik dátumot.
Kód:
Subbb () Dim dt1 Dátumként Dim dt2 Dátumként dt1 = # 1/1/2010 9:00:00 # dt2 = # 4/19/2019 11:00:00 # End End
3. lépés: Írja be a Datediff függvény szintaxisát a szükséges argumentum alapján, és rendelje hozzá a VBA üzenetmezőn keresztül.
Kód:
Subbb () Dim dt1 Dátumként Dim dt2 Dátumként dt1 = # 1/1/2010 9:00:00 # dt2 = # 4/19/2019 11:00:00 # MsgBox DateDiff ("h", dt1, dt2) Sub vége
4. lépés: Futtassa a kódot az F5 billentyű megnyomásával vagy a Play gombra kattintással. Annak érdekében, hogy az eredmény megjelenjen az üzenet mezőben.
2. példa
Az alábbi példában a dátumfelfüggesztés kiszámítja az évek számát a „2016.06.06.” És „2020.12.16.” Között. Itt az opcionális paramétereket nem veszik figyelembe.
Kód:
AA. Al) () 'Éves különbség MsgBox DateDiff ("éééé", "2016.06.09.", "2020.12.16.")
A program futtatásához nyomja meg az „ F8 ” vagy a „ Futtatás ” fület. Az eredmény megjelenik az üzenet mezőben.
3. példa
Az alábbi példában a dátumfelfüggesztés kiszámítja a hónapok számát a „2016.06.06.” És a „2016.12.16.” Között. Itt az opcionális paramétereket nem veszik figyelembe.
Kód:
Sub AA1 () 'havi különbség MsgBox DateDiff ("m", "2016.06.09.", "2020.12.16.") Befejezés Sub
A program futtatásához nyomja meg az „ F8 ” vagy a „ Futtatás ” fület. Az eredmény megjelenik az üzenet mezőben.
4. példa
Az alábbi példában a dátumalapú függvény kiszámítja a hetek számát a két dátum között: „2016.06.06.” És „2020.12.16.”. Itt az opcionális paramétereket nem veszik figyelembe.
Kód:
Sub AA2 () heti különbség MsgBox DateDiff ("ww", "2016.06.09.", "2020.12.16.") Befejezés Sub
A program futtatásához nyomja meg az „ F8 ” vagy a „ Futtatás ” fület. Az eredmény megjelenik az üzenet mezőben.
5. példa
Az alábbi példában a „ keltezett ” funkció kiszámítja a negyedévek számát a két dátum között: „ 2016.06.09. ” És „ 2020.12.16 .”. Itt az opcionális paramétereket nem veszik figyelembe.
Kód:
Sub AA3 () 'negyedéves különbség MsgBox DateDiff ("q", "2016.06.09.", "2020.12.16.") Vége Sub
A program futtatásához nyomja meg az „ F8 ” vagy a „ Futtatás ” fület. Az eredmény megjelenik az üzenet mezőben.
6. példa
Az alábbi példában a „ keltezett ” funkció kiszámítja a napok számát a „ 2016.06.06. ” És „ 2020.12.16. ” Két dátum között. Itt az opcionális paramétereket nem veszik figyelembe.
Kód:
Sub AA4 () napközi különbség MsgBox DateDiff ("d", "2016.06.09.", "2020.12.16.") Befejezés Sub
A program futtatásához nyomja meg az „ F8 ” vagy a „ Futtatás ” fület. Az eredmény megjelenik az üzenet mezőben.
7. példa
Az alábbi példában a „ keltezett ” funkció kiszámítja az órák számát a két dátum és az idő között: „2010. január 1- jétől 9:00 -ig ” és „ 2019-én 19:00 -ig ”.
Kód:
Sub bb1 () 'Számítsa ki az órák számát a 2010. január 1-jei 9:00 és 19/19/19 között 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
A program futtatásához nyomja meg az „ F8 ” vagy a „ Futtatás ” fület. Az eredmény megjelenik az üzenet mezőben.
8. példa
Az alábbi példában a „ keltezett ” funkció kiszámítja a másodpercek számát a két dátum és az idő között: „2010. január 1- jétől 9:00 ” és „ 2019/19/11 ” 11:00.
Kód:
Sub bb2 () 'Számítsa ki a másodpercek számát 2010.01.01. 9: 00 és 19/19/19 között 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) End Sub
A program futtatásához nyomja meg az „ F8 ” vagy a „ Futtatás ” fület. Az eredmény megjelenik az üzenet mezőben.
9. példa
Az alábbi példában a „ keltezett ” funkció kiszámítja a percek számát a két dátum és az idő között: „ 2010.01.01. 9:00 ” és „ 2019/19/11 ” 11:00.
Kód:
Sub bb3 () 'Számolja ki a percek számát 2010.01.01. 9: 00 és 19/19/19 között 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) End Sub
A program futtatásához nyomja meg az „ F8 ” vagy a „ Futtatás ” fület. Az eredmény megjelenik az üzenet mezőben.
10. példa
Ha az argumentumot „w” -ként (hetek) adják meg, akkor a „Dátumdiff” funkció a két dátum közötti egész hét számát adja vissza. A részleges heteket nem veszik figyelembe. A példában a „ DateDiff ” funkció kiszámítja a teljes hetek számát a 2010. január 1-jétől2019 / 19-ig.
Kód:
Sub bb4 () 'Számolja ki a hétek számát 2010.01.01 és 2010.4.19 között. Dim dt1 Dátumként Dim dt2 Dátumként dt1 = # 1/1/2010 # dt2 = # 4/19/2010 # MsgBox DateDiff ("w", dt1, dt2) End Sub
A program futtatásához nyomja meg az „ F8 ” vagy a „ Futtatás ” fület. Az eredmény megjelenik az üzenet mezőben.
11. példa
Ha az argumentum „ww” (naptári hétek), a „Dátumiffel” funkció megadja a hetek számát a dátumot tartalmazó hét kezdete és a dátumot tartalmazó hét kezdete között.
Kód:
Subbb5 () 'Számítsa ki a 2010. január 1-jétől2019 / 19-ig terjedő naptári hetek számát' A hét első napja = hétfő Dim dt1 Dátum Dim dt2 Mint dátum dt1 = # 1/1/2010 # dt2 = # 4/19/2019 # MsgBox DateDiff ("ww", dt1, dt2, vbMonday) End Sub
A program futtatásához nyomja meg az „ F8 ” vagy a „ Futtatás ” fület. Az eredmény megjelenik az üzenet mezőben.
12. példa
Az alábbi példában az „dátummal” funkciót az „1/1/1990” és az „1/1/1998” dátumok használják.
Kód:
Subcc () Dim dt1 Dátum Dim dt2 Dátum dt1 = # 1/1/1990 9:00:00 # dt2 = # 1/11/1998 11:00:00 # MsgBox ("1. sor:" & DateDiff ("h", dt1, dt2)) MsgBox ("2. sor:" & DateDiff ("s", dt1, dt2)) MsgBox ("3. sor:" & DateDiff ("n", dt1, dt2)) MsgBox ("4. sor:" & DateDiff ("d", dt1, dt2)) MsgBox ("5. sor:" & DateDiff ("m", dt1, dt2)) MsgBox ("6. sor:" & DateDiff ("q"), dt1, dt2)) MsgBox ("7. sor:" & DateDiff ("w", dt1, dt2)) MsgBox ("8. sor:" & DateDiff ("ww", dt1, dt2)) MsgBox ("9. sor: "& DateDiff (" y ", dt1, dt2)) MsgBox (" 10. sor: "& DateDiff (" éééé ", dt1, dt2)) End Sub
A program futtatásához nyomja meg az „ F8 ” vagy a „ Futtatás ” fület. Az eredmény megjelenik az üzenet mezőben.
Ezután kattintson az „ OK ” gombra a következő eredmény eléréséhez.
Következtetés
A „ DateDiff ” funkció tehát segít meghatározni, hogy hány meghatározott időintervallum létezik két megadott dátum és idő között.
Ajánlott cikkek
Ez egy útmutató a VBA DateDiff-hez. Itt megvitatjuk, hogyan lehet használni a DateDiff funkciót az Excel VBA-ben, a gyakorlati példákkal és a letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket -
- VBA deklaráló tömb (példák)
- Teljes útmutató a hibaelhárításról
- Nem védett lap módszer a VBA-ban
- VBA oszlopok Excel sablon
- VBA Environ