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 |