VBA DateAdd-functie

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

wave wave wave wave wave