DateAdd Popis
Funkcia VBA DateAdd vám umožňuje pridať (alebo odpočítať) dni, mesiace, roky, hodiny, štvrťroky atď. K dátumom alebo časom.
Jednoduché príklady pridania dátumu
Tu je jednoduchý príklad DateAdd:
123 | Sub DateAdd_Day ()MsgBox DateAdd ("d", 20, #4/1/2021 #)Koniec pod |
Tento kód pridá 20 dní (označených „d“) k dátumu 1. 4. 2020:
Namiesto toho môžeme zmeniť interval interval z „d“ na „m“ a pridať tak 20 mesiacov k dátumu 1. 4. 2020:
123 | Sub DateAdd_Month ()MsgBox DateAdd ("m", 20, #4/1/2021 #)Koniec pod |
Namiesto zobrazenia dátumu v okne správy ho môžeme priradiť k premennej:
123456 | Sub DateAdd_Day2 ()Dim dt as Datedt = DateAdd ("d", 20, #4/1/2021 #)MsgBox dtKoniec pod |
Syntax dátumu pridania
V editore VBA môžete zadaním „DateAdd (“ zobraziť syntax funkcie DateAdd:
Funkcia DateAdd obsahuje 3 argumenty:
Interval: Časová jednotka (dni, mesiace, roky atď.). Zadajte ako reťazec. (napr. „m“ za mesiac)
Nastavenie | Popis |
---|---|
rrrr | Rok |
q | Štvrťrok |
m | Mesiac |
r | Deň v roku |
d | Deň |
w | Všedný deň |
ww | Týždeň |
h | Hodina |
n | Minúta |
s | Druhý |
Číslo: Číselná hodnota predstavujúca počet časových jednotiek, ktoré sa majú pridať. (napr. 20 na pridanie 20 jednotiek)
Dátum: Počiatočný dátum. Pozrite si nasledujúcu časť.
Programovanie VBA | Generátor kódu pracuje za vás!
Príklady funkcie Excel VBA DateAdd
Referenčné termíny
Na začiatok predvedieme rôzne spôsoby odkazovania na dátumy pomocou funkcie VBA DateAdd.
Každá z týchto funkcií DateAdd prináša rovnaký výsledok:
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. apríla 2022"))Koniec pod |
Alebo môžete odkazovať na bunku obsahujúcu dátum:
12345 | Sub DateAdd_ReferenceDates_Cell ()MsgBox DateAdd ("m", 2, rozsah ("C2"). Hodnota)Koniec pod |
Alebo vytvorte a odkazujte na premennú dátumu:
12345678 | Sub DateAdd_Variable ()Dim dt As Datedt = #4/1/2021 #MsgBox DateAdd ("m", 2, dt)Koniec pod |
Pridajte alebo odčítajte dátumy
Už sme vám ukázali, ako pridať dátum:
123456 | Sub DateAdd_Day2 ()Dim dt as Datedt = DateAdd ("d", 20, #4/1/2021 #)MsgBox dtKoniec pod |
Od dátumov môžete odpočítať pomocou záporného čísla (napr. -20 namiesto 20):
123456 | Sub DateAdd_Day ()Dim dt as Datedt = DateAdd ("d", -20, #4/1/2021 #)MsgBox dtKoniec pod |
Ste unavení z hľadania príkladov kódu VBA? Skúste AutoMacro!
Sčítanie rôznych jednotiek času
Rokov
123 | Sub DateAdd_Years ()MsgBox DateAdd („rrrr“, 4, #4/1/2021 #)Koniec pod |
Štvrťrok
123 | Sub DateAdd_Quarters ()MsgBox DateAdd ("q", 2, #4/1/2021 #)Koniec pod |
Mesiac
123 | Sub DateAdd_Months ()MsgBox DateAdd ("m", 2, #4/1/2021 #)Koniec pod |
Deň v roku
123 | Sub DateAdd_DaysofYear ()MsgBox DateAdd („y“, 2, #4/1/2021 #)Koniec pod |
Deň
123 | Sub DateAdd_Days3 ()MsgBox DateAdd ("d", 2, #4/1/2021 #)Koniec pod |
Všedný deň
123 | Sub DateAdd_Weekdays ()MsgBox DateAdd ("w", 2, #4/1/2021 #)Koniec pod |
Týždeň
123 | Sub DateAdd_Weeks ()MsgBox DateAdd („ww“, 2, #4/1/2021 #)Koniec pod |
Programovanie VBA | Generátor kódu pracuje za vás!
Pridať do dnešného dňa
Tieto príklady pridajú jednotky času k dnešku pomocou funkcie dátumu.
123456789 | Sub DateAdd_Year_Test ()Dim dtToday As DateDim dt Neskôr ako dátumdtToday = DátumdtLater = DateAdd ("rrrr", 1, dtToday)MsgBox „O rok neskôr je“ & dtLaterKoniec pod |
123 | Sub DateAdd_Quarter_Test ()MsgBox „O 2 štvrťroky neskôr je“ & DateAdd („q“, 2, dátum)Koniec pod |
Sčítanie a odčítanie času
Funkcia DateAdd funguje aj s Times. Tu je niekoľko príkladov pridania (alebo odčítania) času k času:
Hodina
Tento príklad pridá k času 2 hodiny:
123 | Sub DateAdd_Hour ()MsgBox DateAdd ("h", 2, #4/1/2021 6: 00: 00 #)Koniec pod |
Minúta
Tento príklad odpočíta 120 minút od aktuálneho času:
123 | Sub DateAdd_Minute_Subtract ()MsgBox DateAdd ("n", -120, teraz)Koniec pod |
Druhý
123 | Sub DateAdd_Second ()MsgBox DateAdd ("s", 2, #4/1/2021 6: 00: 00 #)Koniec pod |
Formátovanie dátumov
Keď sa v programe Excel, UserForms alebo Messageboxes zobrazujú dátumy (alebo časy), pomocou funkcie formátovania by ste mali určiť, ako sa majú dátumy zobrazovať. Nasleduje niekoľko príkladov:
123456789101112131415161718 | PodformátovanieDátumČasov ()„Vráti aktuálny dátum a časdt = Teraz ()'ex. 07.02.2021Rozsah ("B2") = Formát (dt, "mm/dd/rrrr")'ex. 2. júla 2022Rozsah ("B3") = Formát (dt, "mmmm d, rrrr")'ex. 2. júla 2022 09:10Rozsah ("B4") = Formát (dt, "mm/dd/rrrr hh: mm")'ex. 7.2.21 9:10 hodRozsah ("B5") = Formát (dt, "m.d.rr rv: mm AM/PM")Koniec pod |