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 sablon

1. 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 -

  1. VBA deklaráló tömb (példák)
  2. Teljes útmutató a hibaelhárításról
  3. Nem védett lap módszer a VBA-ban
  4. VBA oszlopok Excel sablon
  5. VBA Environ

Kategória: