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 |