DatePart Beskrivning
Returnerar en viss del av ett visst datum.
Enkla DatePart -exempel
Här är ett enkelt exempel på DatePart:
123 | Sub DatePart_Year_Test ()MsgBox DatePart ("åååå", #1/1/2019 #)Avsluta Sub |
Denna kod kommer att returnera 2022.
DatePart Syntax
I VBA Editor kan du skriva “DatePart (” för att se syntaxen för DatePart -funktionen:
DatePart -funktionen innehåller fyra 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 |
Datum: Variant (datum) värde som du vill utvärdera.
FirstDayOfWeek: En konstant som anger den första dagen i veckan. Detta är valfritt. Om det inte anges antas söndag.
Konstant | Värde | Beskrivning |
---|---|---|
vbUseSystem | 0 | Använd inställningen för NLS API. |
vbSöndag | 1 | Söndag (standard) |
vbMåndag | 2 | Måndag |
vbTisdag | 3 | Tisdag |
vb onsdag | 4 | Onsdag |
vbTorsdag | 5 | Torsdag |
vbFredag | 6 | fredag |
vbLördag | 7 | Lördag |
FirstWeekOfYear: En konstant som anger årets första vecka. Detta är valfritt. Om den inte anges antas den första veckan vara den vecka då den 1 januari inträffar.
Konstant | Värde | Beskrivning |
---|---|---|
vbUseSystem | 0 | Använd inställningen för NLS API. |
vbFirstJan1 | 1 | Börja med veckan där den 1 januari inträffar (standard). |
vbFirstFourDays | 2 | Börja med den första veckan som har minst fyra dagar under det nya året. |
vbFirstFullWeek | 3 | Börja med årets första hela vecka. |
VBA -programmering | Kodgenerator fungerar för dig!
Exempel på Excel VBA DatePart -funktion
Referensdatum
Till att börja med kommer vi att visa olika sätt att referera till datum med hjälp av VBA DatePart -funktionen.
Var och en av dessa DatePart -funktioner ger samma resultat:
123456789 | Sub DateAdd_ReferenceDates ()MsgBox DatePart ("åååå", #4/1/2019 #)MsgBox DatePart ("åååå", DateSerial (2019, 4, 1))MsgBox DatePart ("åååå", DateValue ("1 april 2022"))Avsluta Sub |
Eller så kan du referera till en cell som innehåller ett datum:
12345 | Sub DatePart_ReferenceDate_Cell ()MsgBox DatePart ("åååå", intervall ("C2"). Värde)Avsluta Sub |
Eller skapa och referera datumvariabler:
12345678 | Sub DatePart_Variable ()Dim dt As Datedt = #4/1/2019 #MsgBox DateAdd ("åååå", dt)Avsluta Sub |
Använda olika intervallenheter
Fjärdedel
123 | Sub DatePart_Quarter ()MsgBox DatePart ("q", #6/30/2019 #)Avsluta Sub |
Månad
12345 | Sub DatePart_Month ()MsgBox DatePart ("m", #6/30/2019 #)' likvärdigMsgBox -månad (#6/30/2019#)Avsluta Sub |
Dag
12345 | Sub DatePart_Day ()MsgBox DatePart ("d", #6/30/2019 #)' likvärdigMsgBox Day (#6/30/2019#)Avsluta Sub |
Vecka
12345 | Sub DatePart_Week_Test ()MsgBox DatePart ("w", #6/30/2019 #)' likvärdigMsgBox Weekday (#6/30/2019#)Avsluta Sub |
Timme
123456789101112 | Sub DatePart_Hour ()Dim dt As DateDim nHour As Longdt = #8/14/2019 9:30:00 AM #nHour = DatePart ("h", dt)MsgBox nHour' likvärdigMsgBox Hour (dt)Avsluta Sub |
Minuter
123456 | Sub DatePart_Minute ()MsgBox DatePart ("n", #8/14/2019 09:15:00 #)' likvärdigMsgBox Minute (#8/14/2019 09:15:00#)MsgBox Minute (#9: 15: 00 AM#)Avsluta Sub |
Andra
123456 | Sub DatePart_Second ()MsgBox DatePart ("s", #8/14/2019 09:15:15 #)' likvärdigMsgBox Second (#8/14/2019 9:15:15 AM#)MsgBox Second (#9: 15: 15 AM#)Avsluta Sub |