DateAdd Descriere
Funcția VBA DateAdd vă permite să adăugați (sau să scăpați) zile, luni, ani, ore, trimestre etc. la date sau la ore.
Date simple Adăugați exemple
Iată un exemplu simplu DateAdd:
123 | Sub DateAdd_Day ()MsgBox DateAdd („d”, 20, # 4/1/2021 #)Sfârșitul Sub |
Acest cod va adăuga 20 de zile (indicate prin „d”) la data de 01.04.2021:
În schimb, putem schimba argumentul Interval de la „d” la „m” pentru a adăuga 20 de luni la data de 01.04.2021:
123 | Sub DateAdd_Month ()MsgBox DateAdd („m”, 20, # 4/1/2021 #)Sfârșitul Sub |
În loc să afișăm data într-o casetă de mesaje, o putem atribui unei variabile:
123456 | Sub DateAdd_Day2 ()Dim dt ca Datadt = DataAdd ("d", 20, # 4/1/2021 #)MsgBox dtSfârșitul Sub |
Sintaxă DateAdd
În Editorul VBA, puteți tasta „DateAdd (” pentru a vedea sintaxa funcției DateAdd:
Funcția DateAdd conține 3 argumente:
Interval: Unitatea de timp (zile, luni, ani etc.). Introduceți ca șir. (ex. „m” pentru luna)
Setare | Descriere |
---|---|
yyyy | An |
q | Sfert |
m | Lună |
y | Ziua anului |
d | Zi |
w | Ziua săptămânii |
ww | Săptămână |
h | Ora |
n | Minut |
s | Al doilea |
Număr: Valoare numerică reprezentând numărul de unități de timp de adăugat. (ex. 20 pentru a adăuga 20 de unități)
Data: Data inițială. Vezi secțiunea următoare.
Programare VBA | Generatorul de coduri funcționează pentru dvs.!
Exemple de funcții Excel VBA DateAdd
Date de referință
Pentru început, vom demonstra diferite moduri de referință a datelor folosind funcția VBA DateAdd.
Fiecare dintre aceste funcții DateAdd produce același rezultat:
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 aprilie 2022”))Sfârșitul Sub |
Sau puteți face referință la o celulă care conține o dată:
12345 | Sub DateAdd_ReferenceDates_Cell ()MsgBox DateAdd („m”, 2, interval („C2”). Valoare)Sfârșitul Sub |
Sau creați și faceți referință la o variabilă de dată:
12345678 | Sub DateAdd_Variable ()Dim dt Ca datădt = # 4/1/2021 #MsgBox DateAdd („m”, 2, dt)Sfârșitul Sub |
Adăugați sau scădeți date
V-am arătat deja cum să adăugați la o dată:
123456 | Sub DateAdd_Day2 ()Dim dt ca Datadt = DateAdd ("d", 20, # 4/1/2021 #)MsgBox dtSfârșitul Sub |
Puteți scădea din date folosind un număr negativ (ex. -20 în loc de 20):
123456 | Sub DateAdd_Day ()Dim dt ca Datadt = DateAdd ("d", -20, # 4/1/2021 #)MsgBox dtSfârșitul Sub |
V-ați săturat să căutați exemple de cod VBA? Încercați AutoMacro!
Adăugarea diferitelor unități de timp
Ani
123 | Sub DateAdd_Years ()MsgBox DateAdd („aaaa”, 4, # 4/1/2021 #)Sfârșitul Sub |
Sfert
123 | Sub DateAdd_Quarters ()MsgBox DateAdd („q”, 2, # 4/1/2021 #)Sfârșitul Sub |
Lună
123 | Sub DateAdd_Months ()MsgBox DateAdd („m”, 2, # 4/1/2021 #)Sfârșitul Sub |
Ziua anului
123 | Sub DateAdd_DaysofYear ()MsgBox DateAdd („y”, 2, # 4/1/2021 #)Sfârșitul Sub |
Zi
123 | Sub DateAdd_Days3 ()MsgBox DateAdd ("d", 2, # 4/1/2021 #)Sfârșitul Sub |
Ziua săptămânii
123 | SubData Adăugare_Zile săptămânii ()MsgBox DateAdd ("w", 2, # 4/1/2021 #)Sfârșitul Sub |
Săptămână
123 | Subdată Adăugare_Weeks ()MsgBox DateAdd ("ww", 2, # 4/1/2021 #)Sfârșitul Sub |
Programare VBA | Generatorul de coduri funcționează pentru dvs.!
Adăugați la Azi
Aceste exemple vor adăuga unități de timp astăzi folosind funcția Data.
123456789 | Sub DateAdd_Year_Test ()Dim dtToday As DateDim dtMai târziu ca datădtToday = DatadtLater = DateAdd ("aaaa", 1, dtToday)MsgBox „Un an mai târziu este” & dtLaterSfârșitul Sub |
123 | Sub DateAdd_Quarter_Test ()MsgBox „2 sferturi mai târziu este„ & DateAdd („q”, 2, Data)Sfârșitul Sub |
Adăugarea și scăderea timpului
Funcția DateAdd funcționează și cu Times. Iată câteva exemple de adăugare (sau scădere) de timp la un timp:
Ora
Acest exemplu va adăuga 2 ore la o dată:
123 | Sub DateAdd_Hour ()MsgBox DateAdd („h”, 2, # 4/1/2021 6: 00: 00 #)Sfârșitul Sub |
Minut
Acest exemplu va scădea 120 de minute din ora curentă:
123 | Sub DateAdd_Minute_Subtract ()MsgBox DateAdd („n”, -120, acum)Sfârșitul Sub |
Al doilea
123 | Sub DateAdd_Second ()MsgBox DateAdd („s”, 2, # 4/1/2021 6: 00: 00 #)Sfârșitul Sub |
Formatarea datelor
Când datele (sau orele) sunt afișate în Excel, UserForms sau Mesaje, ar trebui să indicați modul în care datele trebuie afișate utilizând funcția Format. Am inclus câteva exemple mai jos:
123456789101112131415161718 | Sub FormattingDatesTimes ()'Returnează data și ora curentedt = Acum ()'ex. 07/02/2021Interval ("B2") = Format (dt, "mm / zz / aaaa")'ex. 2 iulie 2022Range ("B3") = Format (dt, "mmmm d, aaaa")'ex. 2 iulie 2022 09:10Interval ("B4") = Format (dt, "mm / zz / aaaa hh: mm")'ex. 7.2.21 9:10 AMGama ("B5") = Format (dt, "m.d.yy h: mm AM / PM")Sfârșitul Sub |