VBA DateAdd -funktion

DateAdd Beskrivning

Med VBA DateAdd -funktionen kan du lägga till (eller subtrahera) dagar, månader, år, timmar, kvartal etc. till datum eller tider.

Simple DateAdd Exempel

Här är ett enkelt exempel på DateAdd:

123 Sub DateAdd_Day ()MsgBox DateAdd ("d", 20, #4/1/2021 #)Avsluta Sub

Denna kod kommer att lägga till 20 dagar (indikerat med “d”) till datumet 4/1/2021:

Istället kan vi ändra intervallargumentet från "d" till "m" för att lägga till 20 månader till datumet 4/1/2021:

123 Sub DateAdd_Month ()MsgBox DateAdd ("m", 20, #4/1/2021 #)Avsluta Sub

I stället för att visa datumet i en meddelanderuta kan vi tilldela det till en variabel:

123456 Sub DateAdd_Day2 ()Dim dt som Datumdt = DateAdd ("d", 20, #4/1/2021 #)MsgBox dtAvsluta Sub

DateAdd Syntax

I VBA Editor kan du skriva “DateAdd (” för att se syntaxen för DateAdd -funktionen:

DateAdd -funktionen innehåller tre argument:

Intervall: Tidenhet (dagar, månader, år, etc.). Ange som sträng. (ex. ”m” för månad)

Miljö Beskrivning
åååå År
q Fjärdedel
m Månad
y Årets dag
d Dag
w Veckodag
ww Vecka
h Timme
n Minut
s Andra

Siffra: Numeriskt värde som representerar antalet tidsenheter som ska läggas till. (ex. 20 för att lägga till 20 enheter)

Datum: Ursprungligt datum. Se nästa avsnitt.

VBA -programmering | Kodgenerator fungerar för dig!

Exempel på Excel VBA DateAdd -funktion

Referensdatum

För att börja demonstrerar vi olika sätt att referera till datum med hjälp av VBA DateAdd -funktionen.

Var och en av dessa DateAdd -funktioner ger samma resultat:

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"))Avsluta Sub

Eller så kan du referera till en cell som innehåller ett datum:

12345 Sub DateAdd_ReferenceDates_Cell ()MsgBox DateAdd ("m", 2, intervall ("C2"). Värde)Avsluta Sub

Eller skapa och referera till en datumvariabel:

12345678 Sub DateAdd_Variable ()Dim dt As Datedt = #4/1/2021 #MsgBox DateAdd ("m", 2, dt)Avsluta Sub

Lägg till eller subtrahera datum

Vi har redan visat dig hur du lägger till ett datum:

123456 Sub DateAdd_Day2 ()Dim dt som Datumdt = DateAdd ("d", 20, #4/1/2021 #)MsgBox dtAvsluta Sub

Du kan subtrahera från datum med ett negativt tal (ex. -20 istället för 20):

123456 Sub DateAdd_Day ()Dim dt som Datumdt = DateAdd ("d", -20, #4/1/2021 #)MsgBox dtAvsluta Sub

Trött på att söka efter exempel på VBA -kod? Prova AutoMacro!

Lägga till olika tidsenheter

År

123 Sub DateAdd_Years ()MsgBox DateAdd ("åååå", 4, #4/1/2021 #)Avsluta Sub

Fjärdedel

123 Sub DateAdd_Quarters ()MsgBox DateAdd ("q", 2, #4/1/2021 #)Avsluta Sub

Månad

123 Sub DateAdd_Months ()MsgBox DateAdd ("m", 2, #4/1/2021 #)Avsluta Sub

Årets dag

123 Sub DateAdd_DaysofYear ()MsgBox DateAdd ("y", 2, #4/1/2021 #)Avsluta Sub

Dag

123 Sub DateAdd_Days3 ()MsgBox DateAdd ("d", 2, #4/1/2021 #)Avsluta Sub

Veckodag

123 Sub DateAdd_Weekdays ()MsgBox DateAdd ("w", 2, #4/1/2021 #)Avsluta Sub

Vecka

123 Sub DateAdd_Weeks ()MsgBox DateAdd ("ww", 2, #4/1/2021 #)Avsluta Sub

VBA -programmering | Kodgenerator fungerar för dig!

Lägg till i dag

Dessa exempel kommer att lägga till tidsenheter till idag med datumfunktionen.

123456789 Sub DateAdd_Year_Test ()Dim dtToday As DateDim dtLater As DatedtToday = DatumdtLater = DateAdd ("åååå", 1, dtToday)MsgBox "Ett år senare är" & dtLaterAvsluta Sub
123 Sub DateAdd_Quarter_Test ()MsgBox "2 fjärdedelar senare är" & DateAdd ("q", 2, Date)Avsluta Sub

Lägga till och subtrahera tid

DateAdd -funktionen fungerar också med Times. Här är några exempel på att lägga till (eller subtrahera) tid till en tid:

Timme

Detta exempel kommer att lägga till 2 timmar i taget:

123 Sub DateAdd_Hour ()MsgBox DateAdd ("h", 2, #4/1/2021 6: 00: 00 #)Avsluta Sub

Minut

Detta exempel kommer att subtrahera 120 minuter från den aktuella tiden:

123 Sub DateAdd_Minute_Subtract ()MsgBox DateAdd ("n", -120, nu)Avsluta Sub

Andra

123 Sub DateAdd_Second ()MsgBox DateAdd ("s", 2, #4/1/2021 6: 00: 00 #)Avsluta Sub

Formatera datum

När datum (eller tider) visas i Excel, UserForms eller Meddelandefält bör du ange hur datumen ska visas med hjälp av Format -funktionen. Vi har inkluderat några exempel nedan:

123456789101112131415161718 Sub FormattingDatesTimes ()'Returnerar aktuellt datum och tiddt = Nu ()'ex. 07/02/2021Område ("B2") = Format (dt, "mm/dd/åååå")'ex. 2 juli 2022Område ("B3") = Format (dt, "mmmm d, åååå")'ex. 2 juli 2022 09:10Område ("B4") = Format (dt, "mm/dd/åååå hh: mm")'ex. 7.2.21 09:10Område ("B5") = Format (dt, "m.d. åå h: mm AM/PM")Avsluta Sub

wave wave wave wave wave