De VBA DateAdd-functie in Excel gebruiken

  • Deel Dit
Hugh West

De VBA DateAdd-functie valt onder de categorie datum en tijd van Excel's VBA-functies Met deze functie kunnen we jaren, maanden, dagen, kwartalen, en zelfs verschillende tijdsintervallen zoals uren, minuten, seconden optellen of aftrekken van een bepaalde datum. Het omgaan met datum en tijd in dagelijkse berekeningen voor het genereren van rapporten of het maken van vergelijkingen is een veelvoorkomend scenario. In Excel maakt het gebruik van VBA datum- en tijdfuncties zoals de functie DateAdd complexe of tijdrovende berekeningen mogelijk.efficiënter en sneller.

Download het oefenwerkboek

Download dit oefenwerkboek om te oefenen terwijl u dit artikel leest.

VBA DatumToevoegen Functie.xlsm

Inleiding tot de Excel VBA DateAdd functie

Resultaat:

een datum waarbij een bepaald tijdsinterval wordt opgeteld of afgetrokken

Syntax:

DateAdd (interval, nummer, datum)

Argumenten:

Argument Vereist/optioneel Beschrijving
interval Vereist A string uitdrukking.

Het tijdsinterval in verschillende instellingen dat we willen toevoegen nummer Vereist A numeriek uitdrukking .

De nummer van intervallen toe te voegen of af te trekken

Kan zijn positief - want toekomstige data

Kan zijn negatief - want voorbij data datum Vereist A datum uitdrukking

De datum waaraan de intervallen zijn toegevoegd

Instellingen:

De DateAdd functie heeft deze intervalinstellingen:

Instelling Beschrijving
yyyy Jaar
q Kwart
m Maand
y Jaar van de dag
d Dag
w Weekdag
ww Week
h Uur
n Minuut
s Tweede

Voorbeelden van de Excel VBA DateAdd functie

Formule-uitdrukkingen van de Excel DateAdd-functie

Er zijn verschillende manieren om de datum argument in de DateAdd functie. Ze leveren allemaal hetzelfde resultaat op.

Zet de volgende code in de Visual Basic Editor:

(Hoe code uitvoeren in de Visual Basic Editor)

 Sub add_year() Range("D3") = DateAdd("yyyy", 2, #1/1/2022#) Range("D4") = DateAdd("yyyy", 2, DateSerial(2022, 1, 1)) Range("D5") = DateAdd("yyyy", 2, DateValue("Jan 1, 2022") Range("D6") = DateAdd("yyyy", 2, Range("B6") End Sub 

Uitleg :

DateAdd("yyyy",2, een van de volgende methoden)

Voor het argument datum kunnen we verschillende methoden gebruiken:

  • #1/1/2011#
  • DateSerial( jaar , maand, dag)
  • DateValue( datum )
  • Bereik ("cel") - Datum opgeslagen in een cel
  • De datum opslaan in een variabele

In cellen D3, D4, D5, D6, D7 zetten we de bovenstaande methoden als de datum argument van de DateAdd functie achtereenvolgens en kreeg de hetzelfde resultaat.

We hebben toegevoegd 2 meer jaren naar 1/1/2022 wat resulteerde in 1/1/2024.

Hier,

yyyy staat voor jaar als interval

2 staat voor het aantal intervallen als nummer .

Help: Code uitvoeren in de Visual Basic-editor

Volg de stappen:

  • Van de Excel Lint ga naar Tabblad Ontwikkelaar en selecteer Visual Basic Tab.

  • Klik in het nieuwe venster op de Plaats tabblad en kies Module.

  • Schrijf uw code in de editor en druk op F5 naar rennen.

Verschillende intervalinstellingen toevoegen met de functie DateAdd in Excel

1. Jaar toevoegen

Code:

 Sub DateAdd_Years() Range("F5") = DateAdd("yyyy", 2, Range("D5")) End Sub 

Resultaat: 2 jaar toegevoegd aan 1/1/2022 (mm/dd/jjjj) en resulteerde in 1/1/2024 (mm//dd/jjjj).

Lees meer: Hoe de functie Jaar gebruiken in Excel VBA

2. Kwartaal toevoegen

Code:

 Sub DateAdd_Quarters() Bereik ("F5") = DateAdd("q", 2, Bereik("D5")) Einde Sub 

Resultaat: 2 kwartalen = 6 maanden toegevoegd aan 1/1/2022 (mm/dd/jjjj) en resulteerde in 7/1/2022 (mm//dd/jjjj).

3. Maand toevoegen

Code:

 Sub DateAdd_Months() Bereik("F5") = DateAdd("m", 2, Bereik("D5")) Einde Sub 

Resultaat: 2 maanden toegevoegd aan 1/1/2022 (mm/dd/jjjj) en resulteerde in 3/1/2022 (mm//dd/jjjj).

Lees meer: Hoe Excel VBA MAAND functie gebruiken

4. Dag van het jaar toevoegen

Code:

 Sub DateAdd_DayOfYear() Bereik("F5") = DateAdd("y", 2, Bereik("D5")) Einde Sub 

Resultaat : 2 Dag van het jaar toegevoegd naar 1/1/2022 (mm/dd/jjjj) en resulteerde in 1/3/2022 (mm//dd/jjjj).

Lees meer: De functie Dag gebruiken in Excel VBA

5. Dag toevoegen

Code:

 Sub DateAdd_Day() Bereik("F5") = DateAdd("d", 2, Bereik("D5")) Einde Sub 

Resultaat : 2 dagen toegevoegd naar 1/1/2022 (mm/dd/jjjj) en resulteerde in 1/3/2022 (mm//dd/jjjj).

Vergelijkbare lezingen

  • Excel VBA om weeknummer te vinden (6 snelle voorbeelden)
  • De VBA-functie DatePart gebruiken in Excel (7 voorbeelden)
  • VBA DateSerial-functie gebruiken in Excel (5 eenvoudige toepassingen)
  • Hoe datum omzetten van String met behulp van VBA (7 manieren)

6. Weekdag toevoegen

Code:

 Sub DateAdd_WeekDay() Bereik("F5") = DateAdd("w", 10, Bereik("D5")) Einde Sub 

Resultaat: 10 weekdagen toegevoegd naar 1/1/2022 (mm/dd/jjjj) en resulteerde in 1/11/2022 (mm//dd/jjjj).

7. Week toevoegen

Code:

 Sub DateAdd_Weeks() Bereik("F5") = DateAdd("ww", 2, Bereik("D5")) Einde Sub 

Resultaat: 2 weken = 14 dagen toegevoegd naar 1/1/2022 (mm/dd/jjjj) en resulteerde in 1/15/2022 (mm//dd/jjjj).

Lees meer: De dag van de week bepalen met VBA

8. Uur toevoegen

Code:

 Sub DateAdd_Hours() Bereik("F5") = DateAdd("h", 14, Bereik("D5")) Einde Sub 

Resultaat: 14 uur toegevoegd naar 1/1/2022 12:00 AM (mm/dd/jjjj: hh/mm) en resulteerde in 1/1/2022 2:00 PM (mm//dd/yyyy : hh/mm).

9. Minuut toevoegen

Code:

 Sub DateAdd_Minutes() Bereik("F5") = DateAdd("n", 90, Bereik("D5")) Einde Sub 

Resultaat : 90 minuten = 1.30 uur toegevoegd naar 1/1/2022 12:00 AM (mm/dd/jjjj) en resulteerde in 1/1/2022 1:30 AM (mm//dd/jjjj).

10. Tweede toevoegen

Code:

 Sub DateAdd_Seconds() Bereik("F5") = DateAdd("s", 120, Bereik("D5")) Einde Sub 

Resultaat: 120 seconden = 2 minuten toegevoegd naar 1/1/2022 12:00 AM (mm/dd/jjjj : hh/mm) en resulteerde in 1/1/2022 12:02 AM (mm//dd/yyyy : hh/mm).

Gebruik van de functie DateAdd in Excel om verschillende intervalinstellingen af te trekken

Evenzo kunnen we trek af jaren, maanden, dagen, uren, minuten, enz. van een datum met behulp van een minteken in voorkant van de cijferargument Bijvoorbeeld:

Code:

 Sub DateAdd_Subtract_Years() Bereik("F5") = DateAdd("y", -2, Bereik("D5")) Einde Sub 

Resultaat: 2 jaar afgetrokken van 1/1/2022 (mm/dd/jjjj) en resulteerde in 1/1/2020 (mm//dd/jjjj).

Dingen om te onthouden

  • Wanneer we 'w' toevoegen weekdagen het telt op alle dagen van een week inclusief zaterdag en zondag, niet alleen de werkdagen (wat iemand zou verwachten).
  • De DateAdd-functie toont uiteindelijk geen ongeldige datum Als we bijvoorbeeld 1 maand toevoegen aan 31 januari 2022, zal het resultaat 28 februari 2022 zijn, niet 31 februari 2022 (die bestaat niet).
  • Als we er meer dan 122 jaar vanaf nu een fout omdat de Excel-datum start van 1 januari 1990.
  • De retourdatum van de DateAdd-functie hangt af van de Control Panel Datum Instellingen.
  • We moeten het datumargument van de DateAdd-functie volgens de Kalender eigendom Als de kalender Gregoriaans , de ingang da te argument moet ook in Gregoriaans Als de kalender in Hijri is, moet het datumargument hetzelfde formaat hebben.

Conclusie

Nu weten we hoe we de VBA DateAdd functie in Excel moeten gebruiken. Hopelijk stimuleert dit u om deze functionaliteit met meer vertrouwen te gebruiken. Als u vragen of suggesties heeft, vergeet ze dan niet in het commentaarveld hieronder te plaatsen.

Hugh West is een zeer ervaren Excel-trainer en -analist met meer dan 10 jaar ervaring in de branche. Hij heeft een bachelor in Accounting en Finance en een master in Business Administration. Hugh heeft een passie voor lesgeven en heeft een unieke lesaanpak ontwikkeld die gemakkelijk te volgen en te begrijpen is. Zijn deskundige kennis van Excel heeft duizenden studenten en professionals over de hele wereld geholpen hun vaardigheden te verbeteren en uit te blinken in hun carrière. Via zijn blog deelt Hugh zijn kennis met de wereld en biedt hij gratis Excel-tutorials en online trainingen aan om individuen en bedrijven te helpen hun volledige potentieel te bereiken.