DatumBeschrijving toevoegen
Met de VBA DateAdd-functie kunt u dagen, maanden, jaren, uren, kwartalen, enz. optellen (of aftrekken) aan datums of tijden.
Eenvoudige datumVoeg voorbeelden toe
Hier is een eenvoudig DateAdd-voorbeeld:
123 | SubdatumAdd_Day()MsgBox DateAdd("d", 20, #4/1/2021#)Einde sub |
Deze code voegt 20 dagen (aangegeven met "d") toe aan de datum 4/1/2021:
In plaats daarvan kunnen we het intervalargument wijzigen van "d" in "m" om 20 maanden toe te voegen aan de datum 4/1/2021:
123 | SubdatumAdd_Month()MsgBox DateAdd("m", 20, #4/1/2021#)Einde sub |
In plaats van de datum in een berichtvenster weer te geven, kunnen we deze toewijzen aan een variabele:
123456 | SubdatumAdd_Day2()Dim dt als datumdt = DateAdd("d", 20, #4/1/2021#)MsgBox dtEinde sub |
DateAdd-syntaxis
In de VBA-editor kunt u "DateAdd(" typen om de syntaxis voor de DateAdd-functie te zien:
De functie DateAdd bevat 3 argumenten:
Interval: Tijdseenheid (dagen, maanden, jaren, enz.). Voer in als tekenreeks. (bijv. "m" voor maand)
Instelling | Beschrijving |
---|---|
yyyy | Jaar |
Q | Kwartaal |
m | Maand |
ja | dag van het jaar |
NS | Dag |
met wie | Weekdag |
ww | Week |
H | Uur |
N | Minuut |
s | Tweede |
Nummer: Numerieke waarde die het aantal tijdseenheden vertegenwoordigt dat moet worden toegevoegd. (bijv. 20 om 20 eenheden toe te voegen)
Datum: Initiële datum. Zie volgende sectie.
VBA-programmering | Code Generator werkt voor u!
Voorbeelden van Excel VBA DateAdd-functie
Verwijzende datums
Om te beginnen zullen we verschillende manieren demonstreren om naar datums te verwijzen met behulp van de VBA DateAdd-functie.
Elk van deze DateAdd-functies levert hetzelfde resultaat op:
123456789 | Sub DateAdd_ReferenceDates()MsgBox DateAdd("m", 2, #4/1/2021#)MsgBox DateAdd("m", 2, DateSerial (2021, 4, 1))MsgBox DateAdd("m", 2, DateValue("1 april 2022"))Einde sub |
Of u kunt verwijzen naar een cel met een datum:
12345 | Sub DateAdd_ReferenceDates_Cell()MsgBox DateAdd("m", 2, Range("C2").Waarde)Einde sub |
Of maak en verwijs naar een datumvariabele:
12345678 | Sub DateAdd_Variable()Dim dt als datumdt = #4/1/2021#MsgBox DateAdd("m", 2, dt)Einde sub |
Datums optellen of aftrekken
We hebben je al laten zien hoe je een datum toevoegt:
123456 | SubdatumAdd_Day2()Dim dt als datumdt = DateAdd("d", 20, #4/1/2021#)MsgBox dtEinde sub |
U kunt aftrekken van datums door een negatief getal te gebruiken (bijv. -20 in plaats van 20):
123456 | SubdatumAdd_Day()Dim dt als datumdt = DateAdd("d", -20, #4/1/2021#)MsgBox dtEinde sub |
Moe van het zoeken naar voorbeelden van VBA-codes? Probeer AutoMacro!
Verschillende tijdseenheden toevoegen
jaren
123 | SubdatumAdd_Years()MsgBox DateAdd("yyyy", 4, #4/1/2021#)Einde sub |
Kwartaal
123 | SubdatumAdd_Quarters()MsgBox DateAdd("q", 2, #4/1/2021#)Einde sub |
Maand
123 | SubdatumAdd_Months()MsgBox DateAdd("m", 2, #4/1/2021#)Einde sub |
dag van het jaar
123 | SubdatumAdd_DaysofYear()MsgBox DateAdd("y", 2, #4/1/2021#)Einde sub |
Dag
123 | SubdatumAdd_Days3()MsgBox DateAdd("d", 2, #4/1/2021#)Einde sub |
Weekdag
123 | SubdatumAdd_Weekdays()MsgBox DateAdd("w", 2, #4/1/2021#)Einde sub |
Week
123 | SubdatumAdd_Weeks()MsgBox DateAdd("ww", 2, #4/1/2021#)Einde sub |
VBA-programmering | Code Generator werkt voor u!
Toevoegen aan vandaag
Deze voorbeelden voegen tijdseenheden toe aan vandaag met behulp van de datumfunctie.
123456789 | SubdatumAdd_Year_Test()Dim dtVandaag als datumDim dtLater als datumdtToday = DatumdtLater = DateAdd("yyyy", 1, dtToday)MsgBox "Een jaar later is " & dtLaterEinde sub |
123 | SubdatumAdd_Quarter_Test()MsgBox "2 kwartalen later is " & DateAdd("q", 2, Date)Einde sub |
Tijd optellen en aftrekken
De functie DateAdd werkt ook met Times. Hier zijn een paar voorbeelden van het optellen (of aftrekken) van tijd bij een tijd:
Uur
Dit voorbeeld voegt 2 uur toe aan een tijd:
123 | SubdatumAdd_Hour()MsgBox DateAdd("h", 2, #4/1/2021 6:00:00#)Einde sub |
Minuut
Dit voorbeeld trekt 120 minuten af van de huidige tijd:
123 | SubdatumToevoegen_Minute_Aftrekken()MsgBox DateAdd("n", -120, Now)Einde sub |
Tweede
123 | SubdatumAdd_Second()MsgBox DateAdd("s", 2, #4/1/2021 6:00:00#)Einde sub |
Datums opmaken
Wanneer datums (of tijden) worden weergegeven in Excel, UserForms of Messageboxes, moet u aangeven hoe de datums moeten worden weergegeven met behulp van de Formaatfunctie. We hebben hieronder een paar voorbeelden opgenomen:
123456789101112131415161718 | SubopmaakDatesTimes()'Retourneert huidige datum en tijd'dt = Nu()'ex. 07/02/2021Bereik ("B2") = Formaat (dt, "mm/dd/jjjj")'ex. 2 juli 2022Bereik ("B3") = Formaat (dt, "mmmm d, jjjj")'ex. 2 juli 2022 09:10Bereik ("B4") = Formaat (dt, "mm/dd/jjjj uu:mm")'ex. 7.2.21 9:10 AMBereik ("B5") = Formaat (dt, "m.d.yy u:mm AM/PM")Einde sub |