Funkce VBA DateAdd

DateAdd Popis

Funkce VBA DateAdd vám umožňuje přidat (nebo odečíst) dny, měsíce, roky, hodiny, čtvrtletí atd. K datům nebo časům.

Jednoduché příklady přidání data

Zde je jednoduchý příklad DateAdd:

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

Tento kód přidá 20 dní (označeno „d“) k datu 1. 4. 2021:

Místo toho můžeme změnit intervalový argument z „d“ na „m“ a přidat k datu 1. 4. 2021 20 měsíců:

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

Místo zobrazení data ve schránce zprávy jej můžeme přiřadit proměnné:

123456 Sub DateAdd_Day2 ()Dim dt as Datedt = DateAdd ("d", 20, #4/1/2021 #)MsgBox dtEnd Sub

Syntaxe DateAdd

V editoru VBA můžete zadat „DateAdd (“ a zobrazit syntaxi funkce DateAdd:

Funkce DateAdd obsahuje 3 argumenty:

Časový úsek: Časová jednotka (dny, měsíce, roky atd.). Zadejte jako řetězec. (např. „m“ za měsíc)

Nastavení Popis
rrrr Rok
q Čtvrťák
m Měsíc
y Den roku
d Den
w Všední den
ww Týden
h Hodina
n Minuta
s Druhý

Číslo: Číselná hodnota představující počet časových jednotek, které se mají přidat. (př. 20 pro přidání 20 jednotek)

Datum: Počáteční datum. Viz další část.

Programování VBA | Generátor kódu pracuje pro vás!

Příklady funkce Excel VBA DateAdd

Referenční data

Na začátek předvedeme různé způsoby odkazování na data pomocí funkce VBA DateAdd.

Každá z těchto funkcí DateAdd produkuje stejný výsledek:

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. dubna 2022"))End Sub

Nebo můžete odkazovat na buňku obsahující datum:

12345 Sub DateAdd_ReferenceDates_Cell ()MsgBox DateAdd ("m", 2, rozsah ("C2"). Hodnota)End Sub

Nebo vytvořte a odkazujte na proměnnou data:

12345678 Dílčí datumAdd_Variable ()Dim dt As Datedt = #4/1/2021 #MsgBox DateAdd ("m", 2, dt)End Sub

Přidat nebo odečíst data

Již jsme vám ukázali, jak přidat datum:

123456 Sub DateAdd_Day2 ()Dim dt as Datedt = DateAdd ("d", 20, #4/1/2021 #)MsgBox dtEnd Sub

Data můžete odečíst pomocí záporného čísla (např. -20 namísto 20):

123456 Sub DateAdd_Day ()Dim dt as Datedt = DateAdd ("d", -20, #4/1/2021 #)MsgBox dtEnd Sub

Už vás nebaví hledat příklady kódu VBA? Zkuste AutoMacro!

Přidání různých jednotek času

Let

123 Sub DateAdd_Years ()MsgBox DateAdd („rrrr“, 4, #4/1/2021 #)End Sub

Čtvrťák

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

Měsíc

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

Den roku

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

Den

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

Všední den

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

Týden

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

Programování VBA | Generátor kódu pracuje pro vás!

Přidat do dneška

Tyto příklady přidají jednotky času k dnešku pomocí funkce data.

123456789 Sub DateAdd_Year_Test ()Dim dtToday As DateDim dtLater As DatedtToday = DatumdtLater = DateAdd ("rrrr", 1, dtToday)MsgBox „O rok později je“ & dtLaterEnd Sub
123 Sub DateAdd_Quarter_Test ()MsgBox „O 2 čtvrtletí později je“ & DateAdd („q“, 2, Datum)End Sub

Sčítání a odčítání času

Funkce DateAdd funguje také s Times. Zde je několik příkladů přidání (nebo odečtení) času k času:

Hodina

Tento příklad přidá k času 2 hodiny:

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

Minuta

Tento příklad odečte 120 minut od aktuálního času:

123 Sub DateAdd_Minute_Subtract ()MsgBox DateAdd ("n", -120, nyní)End Sub

Druhý

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

Formátování dat

Když se v aplikaci Excel, UserForms nebo Messageboxes zobrazují data (nebo časy), měli byste pomocí funkce Formát určit, jak se mají data zobrazovat. Níže jsme uvedli několik příkladů:

123456789101112131415161718 Dílčí formátováníDataTimes ()'Vrací aktuální datum a časdt = Nyní ()'ex. 07.02.2021Rozsah ("B2") = Formát (dt, "mm/dd/rrrr")'ex. 2. července 2022Rozsah ("B3") = Formát (dt, "mmmm d, rrrr")'ex. 2. července 2022 09:10Rozsah ("B4") = Formát (dt, "mm/dd/rrrr hh: mm")'ex. 7.2.21 9:10Rozsah ("B5") = Formát (dt, "m.d.yyy h: mm AM/PM")End Sub

wave wave wave wave wave