DateAdd Description
A VBA DateAdd funkciója lehetővé teszi napok, hónapok, évek, órák, negyedévek stb. Hozzáadását (vagy kivonását) a Dátumokhoz vagy az Időkhöz.
Egyszerű DateAdd példák
Íme egy egyszerű DateAdd példa:
123 | Sub DateAdd_Day ()MsgBox DateAdd ("d", 20, #4/1/2021 #)End Sub |
Ez a kód 20 napot ad hozzá („d” jelzéssel) a 2021.04.01 -i dátumhoz:
Ehelyett megváltoztathatjuk az Interval argumentumot „d” -ről „m” -ra, hogy 2021 hónapot adjunk hozzá a 2021.04.04 dátumhoz:
123 | Sub DateAdd_Month ()MsgBox DateAdd ("m", 20, #4/1/2021 #)End Sub |
Ahelyett, hogy a dátumot megjelenítenénk egy üzenetmezőben, hozzárendelhetjük azt egy változóhoz:
123456 | Sub DateAdd_Day2 ()Dim dt dátumkéntdt = DateAdd ("d", 20, #4/1/2021 #)MsgBox dtEnd Sub |
DateAdd Syntax
A VBA szerkesztőben beírhatja a „DateAdd (”) parancsot a DateAdd függvény szintaxisának megtekintéséhez:
A DateAdd függvény 3 érvet tartalmaz:
Intervallum: Időegység (napok, hónapok, évek stb.). Írja be karakterláncként. (pl. „m” a hónapban)
Beállítás | Leírás |
---|---|
yyyy | Év |
q | Negyed |
m | Hónap |
y | Az év napja |
d | Nap |
w | Hétköznap |
ww | Hét |
h | Óra |
n | Perc |
s | Második |
Szám: A hozzáadandó időegységek számát jelző számérték. (pl. 20 20 egység hozzáadásához)
Dátum: Kezdeti dátum. Lásd a következő részt.
VBA programozás | A kódgenerátor működik az Ön számára!
Példák az Excel VBA DateAdd függvényére
Dátumok hivatkozása
Kezdésként bemutatjuk a dátumok hivatkozásának különböző módjait a VBA DateAdd függvény használatával.
A DateAdd függvények mindegyike ugyanazt az eredményt eredményezi:
123456789 | Sub DateAdd_ReferenceDates ()MsgBox DateAdd ("m", 2, #4/1/2021 #)MsgBox DateAdd ("m", 2, DateSerial (2021, 4, 1))MsgBox DateAdd ("m", 2, DateValue ("2022. április 1."))End Sub |
Vagy hivatkozhat egy dátumot tartalmazó cellára:
12345 | Sub DateAdd_ReferenceDates_Cell ()MsgBox DateAdd ("m", 2, tartomány ("C2"). Érték)End Sub |
Vagy hozzon létre és hivatkozzon egy dátumváltozóra:
12345678 | Sub DateAdd_Variable ()Dim dt dátumkéntdt = #4/1/2021 #MsgBox DateAdd ("m", 2, dt)End Sub |
Dátumok hozzáadása vagy kivonása
Már bemutattuk, hogyan adhat hozzá dátumot:
123456 | Sub DateAdd_Day2 ()Dim dt dátumkéntdt = DateAdd ("d", 20, #4/1/2021 #)MsgBox dtEnd Sub |
A dátumokból kivonhat negatív számot (pl. -20 helyett 20):
123456 | Sub DateAdd_Day ()Dim dt dátumkéntdt = DateAdd ("d", -20, #4/1/2021 #)MsgBox dtEnd Sub |
Unod már a VBA kódpéldák keresését? Próbálja ki az AutoMacro -t!
Különböző időegységek hozzáadása
Évek
123 | Sub DateAdd_Years ()MsgBox DateAdd ("éééé", 4, #4/1/2021 #)End Sub |
Negyed
123 | Sub DateAdd_Quarters ()MsgBox DateAdd ("q", 2, #4/1/2021 #)End Sub |
Hónap
123 | Sub DateAdd_Months ()MsgBox DateAdd ("m", 2, #4/1/2021 #)End Sub |
Az év napja
123 | Sub DateAdd_DaysofYear ()MsgBox DateAdd ("y", 2, #4/1/2021 #)End Sub |
Nap
123 | Sub DateAdd_Days3 ()MsgBox DateAdd ("d", 2, #4/1/2021 #)End Sub |
Hétköznap
123 | Sub DateAdd_Weekdays ()MsgBox DateAdd ("w", 2, #4/1/2021 #)End Sub |
Hét
123 | Sub DateAdd_Weeks ()MsgBox DateAdd ("ww", 2, #4/1/2021 #)End Sub |
VBA programozás | A kódgenerátor működik az Ön számára!
Hozzáadás a mai naphoz
Ezek a példák időegységeket adnak a mai naphoz a Dátum függvény használatával.
123456789 | Sub DateAdd_Year_Test ()Dim dtMa dátumkéntDim dtKésőbb dátumkéntdtToday = DátumdtLater = DateAdd ("yyyy", 1, dtToday)MsgBox "Egy évvel később" & dtLaterEnd Sub |
123 | Sub DateAdd_Quarter_Test ()Az MsgBox "2 negyedévvel később" & DateAdd ("q", 2, dátum)End Sub |
Idő összeadása és kivonása
A DateAdd funkció a Times -nal is működik. Íme néhány példa idő hozzáadására (vagy kivonására) egy időhöz:
Óra
Ez a példa 2 órát ad hozzá egy alkalommal:
123 | Sub DateAdd_Hour ()MsgBox DateAdd ("h", 2, #4/1/2021 6: 00: 00 #)End Sub |
Perc
Ez a példa 120 percet von le az aktuális időből:
123 | Sub DateAdd_Minute_Subtract ()MsgBox DateAdd ("n", -120, most)End Sub |
Második
123 | Sub DateAdd_Second ()MsgBox DateAdd ("s", 2, #4/1/2021 6: 00: 00 #)End Sub |
Dátumok formázása
Amikor a dátumok (vagy időpontok) megjelennek az Excel, a UserForms vagy az Üzenetdobozokban, akkor a Formátum funkcióval meg kell adnia, hogyan kell megjeleníteni a dátumokat. Az alábbiakban néhány példát mutatunk be:
123456789101112131415161718 | AlformázásDatesTimes ()'Visszaadja az aktuális dátumot és időtdt = Most ()'volt. 2021.07.02Tartomány ("B2") = Formátum (dt, "mm/dd/yyyy")'volt. 2022. július 2Tartomány ("B3") = Formátum (dt, "mmmm d, yyyy")'volt. 2022. július 2. 09:10Tartomány ("B4") = Formátum (dt, "mm/dd/yyyy hh: mm")'volt. 7.2.21 9:10Tartomány ("B5") = Formátum (dt, "h.n.yy h: mm AM/PM")End Sub |