DateDiff-functie in Excel VBA

VBA Datediff-functie biedt het verschil tussen twee opgegeven intervallen. Hier kan het interval worden opgegeven als uren / maanden / dagen … enz. Zoals gespecificeerd door de gebruiker. Het is een ingebouwde functie in Excel en gecategoriseerd als de functie " Datum / Tijd ". Het kan worden gebruikt als een " VBA " -functie in Excel.

Syntaxis :

Parameter of argumenten gebruikt in DateDiff-functie.

1. Interval:

  • Het is verplicht.
  • Type: - Stringtype-uitdrukking.
  • Het berekent het verschil tussen de twee datums.
Instelling (interval) Beschrijving / Toelichting
“S” seconden
“N” Minuten
“H” uren
“D” dagen
“W” Weekdag
“M” Maanden
“Ww” Week
“Y” Dag van het jaar
“Q” Kwartaal
“Yyyy” Jaar

2. Datum1:

  • Het is verplicht.
  • Type: - Datum.
  • Het vertegenwoordigt de startdatum / tijd voor de berekening van de gedateerdeiff.

3. Datum2:

  • Het is verplicht.
  • Type: - Datum.
  • Het vertegenwoordigt de einddatum / tijd voor de berekening van de gedateerdeiff.

4. Eerste dag van de week:

  • Het is optioneel.
  • Type: - Numeriek of tekst.
  • Het geeft de dag aan die wordt gebruikt als de eerste dag van de week.
  • Als dit argument of deze parameter wordt weggelaten, wordt ervan uitgegaan dat zondag (VbSunday) de eerste dag van de week is.

5. Eerste week van het jaar

  • Het is optioneel.
  • Type: - Numeriek of tekst.
  • Het geeft de dag aan die wordt gebruikt als de eerste week van het jaar.
  • Als dit argument of deze parameter wordt weggelaten, wordt ervan uitgegaan dat 1 januari (vbFirstJan1) de eerste week van het jaar is.

Hoe het ontwikkelaarstabblad in Excel in te schakelen?

Het tabblad Ontwikkelaar is verplicht op het Excel-lint om VBA-macro te starten en te schrijven. Hieronder staan ​​de verschillende stappen om het tabblad ontwikkelaars in Excel VBA in te schakelen:

Stap 1: Ga naar het tabblad Bestand .

Stap 2: Klik in het menu Bestand op Opties aan het einde van de lijst met beschikbare opties onder het menu.

Stap 3: Klik op Lint aanpassen om toegang te krijgen tot de lintaanpassingsopties.

Stap 4: Hier in de aanpassingsopties ziet u de optie Ontwikkelaar . Vink het aan, zodat het wordt geactiveerd op het hoofdlint van Excel en gemakkelijk toegankelijk is. Klik op OK na het controleren van de optie Ontwikkelaar.

Zodra je op OK drukt, zie je het tabblad Ontwikkelaar actief in het Excel-lintmenu met een aantal verschillende opties beschikbaar onder. Zie onderstaande screenshot.

Hoe de DateDiff-functie in Excel VBA te gebruiken?

Hieronder staan ​​de verschillende stappen om de DateDiff-functie in Excel VBA te gebruiken:

U kunt deze VBA DateDiff Excel-sjabloon hier downloaden - VBA DateDiff Excel-sjabloon

Voorbeeld 1

In dit voorbeeld volgt u de onderstaande stappen om de DateDiff-functie in VBA te gebruiken:

Stap 1: Maak eerst een macronaam.

Code:

 Sub bb () Einde Sub 

Stap 2: Twee variabelen worden gedefinieerd als datum en daaraan wordt datum toegewezen.

Code:

 Sub bb () Dim dt1 als datum Dim dt2 als datum dt1 = # 1/1/2010 9:00:00 # dt2 = # 4/19/2019 11:00:00 # Einde Sub 

Stap 3: Schrijf de syntaxis van de Datediff-functie met het vereiste argument en wijs deze toe via het VBA-berichtenvak.

Code:

 Sub bb () Dim dt1 als datum Dim dt2 als datum dt1 = # 1/1/2010 9:00:00 # dt2 = # 4/19/2019 11:00:00 # MsgBox DateDiff ("h", dt1, dt2) Einde Sub 

Stap 4: Voer de code uit door op F5 te drukken of door op de knop Afspelen te klikken. Zodat het resultaat in het berichtvenster wordt weergegeven.

Voorbeeld 2

In het onderstaande voorbeeld berekent de functie gedateerdeiff het aantal jaren tussen de twee datums "09/06/2016" en "16/12/2020". Hier worden optionele parameters niet in aanmerking genomen.

Code:

 Sub AA () 'Jaarverschil MsgBox DateDiff ("jjjj", "09/06/2016", "16/12/2020") Einde Sub 

Om het programma uit te voeren, drukt u op het tabblad " F8 " of " Uitvoeren ". Het resultaat wordt weergegeven in het berichtvenster.

Voorbeeld 3

In het onderstaande voorbeeld berekent de functie gedateerdeiff het aantal maanden tussen de twee datums ”09/06/2016” en “16/12/2020”. Hier worden optionele parameters niet in aanmerking genomen.

Code:

 Sub AA1 () 'maandverschil MsgBox DateDiff ("m", "09/06/2016", "16/12/2020") End Sub 

Om het programma uit te voeren, drukt u op het tabblad " F8 " of " Uitvoeren ". Het resultaat wordt weergegeven in het berichtvenster.

Voorbeeld 4

In het onderstaande voorbeeld berekent de functie gedateerdeiff het aantal weken tussen in de twee datums ”09/06/2016” en “16/12/2020”. Hier worden optionele parameters niet in aanmerking genomen.

Code:

 Sub AA2 () 'weken verschil MsgBox DateDiff ("ww", "09/06/2016", "16/12/2020") End Sub 

Om het programma uit te voeren, drukt u op het tabblad " F8 " of " Uitvoeren ". Het resultaat wordt weergegeven in het berichtvenster.

Voorbeeld 5

In het onderstaande voorbeeld berekent de functie “ gedateerd ” het aantal kwartalen tussen de twee datums ”09/06/2016” en “16/12/2020”. Hier worden optionele parameters niet in aanmerking genomen.

Code:

 Sub AA3 () 'kwartaalverschil MsgBox DateDiff ("q", "09/06/2016", "16/12/2020") End Sub 

Om het programma uit te voeren, drukt u op het tabblad " F8 " of " Uitvoeren ". Het resultaat wordt weergegeven in het berichtvenster.

Voorbeeld 6

In het onderstaande voorbeeld berekent de functie “ gedateerd ” het aantal dagen tussen de twee datums ”09/06/2016” en “16/12/2020”. Hier worden optionele parameters niet in aanmerking genomen.

Code:

 Sub AA4 () 'dagen verschil MsgBox DateDiff ("d", "09/06/2016", "16/12/2020") End Sub 

Om het programma uit te voeren, drukt u op het tabblad " F8 " of " Uitvoeren ". Het resultaat wordt weergegeven in het berichtvenster.

Voorbeeld # 7

In het onderstaande voorbeeld berekent de functie " gedateerd " het aantal uren tussen de twee datums en de tijd "9:00 op 01/01/2010 " en "11:00 op 19/04/2019".

Code:

 Sub bb1 () 'Bereken het aantal uren tussen 1/1/2010 9:00 en 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 

Om het programma uit te voeren, drukt u op het tabblad " F8 " of " Uitvoeren ". Het resultaat wordt weergegeven in het berichtvenster.

Voorbeeld 8

In het onderstaande voorbeeld berekent de functie " gedateerd " het aantal seconden tussen de twee datums en de tijd "9:00 op 01/01/2010 " en "11:00 op 19/04/2019".

Code:

 Sub bb2 () 'Bereken het aantal seconden tussen 1/1/2010 9:00 en 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 

Om het programma uit te voeren, drukt u op het tabblad " F8 " of " Uitvoeren ". Het resultaat wordt weergegeven in het berichtvenster.

Voorbeeld # 9

In het onderstaande voorbeeld berekent de functie " gedateerd " het aantal minuten tussen de twee datums en de tijd "9:00 op 01/01/2010 " en "11:00 op 19/04/2019".

Code:

 Sub bb3 () 'Bereken het aantal minuten tussen 1/1/2010 9:00 en 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 

Om het programma uit te voeren, drukt u op het tabblad " F8 " of " Uitvoeren ". Het resultaat wordt weergegeven in het berichtvenster.

Voorbeeld # 10

Als het argument is opgegeven als "w" (weken), retourneert de functie "Datediff" het nummer van de hele week tussen de twee datums. Gedeeltelijke weken worden genegeerd. In het voorbeeld berekent de functie " DateDiff " het aantal hele weken tussen de datums 01/01/2010 en 19/4/2019.

Code:

 Sub bb4 () 'Bereken het aantal weken tussen 1/1/2010 en 19/4/2010 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 # dt2 = # 4/19/2010 # MsgBox DateDiff ("w", dt1, dt2) Einde Sub 

Om het programma uit te voeren, drukt u op het tabblad " F8 " of " Uitvoeren ". Het resultaat wordt weergegeven in het berichtvenster.

Voorbeeld 11

Als het argument is opgegeven als "ww" (kalenderweken), geeft de functie "Datediff" het aantal weken tussen het begin van de week met Datum1 en het begin van de week met Datum2.

Code:

 Sub bb5 () 'Bereken het aantal kalenderweken tussen 1/1/2010 en 19/4/2019' Eerste dag van de week = maandag Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 # dt2 = # 4/19/2019 # MsgBox DateDiff ("ww", dt1, dt2, vbMonday) End Sub 

Om het programma uit te voeren, drukt u op het tabblad " F8 " of " Uitvoeren ". Het resultaat wordt weergegeven in het berichtvenster.

Voorbeeld # 12

In het onderstaande voorbeeld wordt de functie "gedateerd" gebruikt voor datums "1/1/1990" en "1/1/1998"

Code:

 Sub cc () Dim dt1 als datum Dim dt2 als datum dt1 = # 1/1/1990 9:00:00 AM # dt2 = # 1/11/1998 11:00:00 # MsgBox ("regel 1:" & DateDiff ("h", dt1, dt2)) MsgBox ("regel 2:" & DateDiff ("s", dt1, dt2)) MsgBox ("regel 3:" & DateDiff ("n", dt1, dt2)) MsgBox ("regel 4:" & DateDiff ("d", dt1, dt2)) MsgBox ("regel 5:" & DateDiff ("m", dt1, dt2)) MsgBox ("regel 6:" & DateDiff ("q", dt1, dt2)) MsgBox ("regel 7:" & DateDiff ("w", dt1, dt2)) MsgBox ("regel 8:" & DateDiff ("ww", dt1, dt2)) MsgBox ("regel 9: "& DateDiff (" y ", dt1, dt2)) MsgBox (" line 10: "& DateDiff (" yyyy ", dt1, dt2)) End Sub 

Om het programma uit te voeren, drukt u op het tabblad " F8 " of " Uitvoeren ". Het resultaat wordt weergegeven in het berichtvenster.

Klik vervolgens op " Ok " om het volgende resultaat te krijgen.

Conclusie

De functie " DateDiff " helpt dus bij het bepalen van het aantal opgegeven tijdsintervallen tussen twee opgegeven datums en tijden.

Aanbevolen artikelen

Dit is een handleiding voor VBA DateDiff. Hier bespreken we hoe u de DateDiff-functie in Excel VBA kunt gebruiken, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. VBA Declare Array (voorbeelden)
  2. Volledige gids voor VBA over fout
  3. Onbeschermde bladmethode in VBA
  4. VBA-kolommen | Excel-sjabloon
  5. VBA Environ

Categorie: