Inhoudsopgave
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.xlsmInleiding 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.