Funkcija dodajanja datuma VBA

DatumDodaj opis

Funkcija VBA DateAdd vam omogoča, da datume ali čase dodate (ali odštejete) dneve, mesece, leta, ure, četrtine itd.

Preprosti primeri dodajanja datumov

Tu je preprost primer DateAdd:

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

Ta koda bo datumu 1. 4. 2021 dodala 20 dni (označenih z »d«):

Namesto tega lahko spremenimo argument Interval iz »d« v »m« in datumu 20.4.2021 dodamo 20 mesecev:

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

Namesto da bi datum prikazali v polju za sporočila, ga lahko dodelimo spremenljivki:

123456 Sub DateAdd_Day2 ()Zatemni dt kot datumdt = DateAdd ("d", 20, #4/1/2021 #)MsgBox dtEnd Sub

Skladnja DateAdd

V urejevalniku VBA lahko vnesete »DateAdd («), če si želite ogledati skladnjo funkcije DateAdd:

Funkcija DateAdd vsebuje 3 argumente:

Interval: Časovna enota (dnevi, meseci, leta itd.). Vnesite kot niz. (npr. "m" za mesec)

Nastavitev Opis
llll Leto
q Četrtina
m Mesec
y Dan v letu
d Dan
w Delovni dan
ww Teden
h Ura
n Minuta
s Drugič

Številka: Številčna vrednost, ki predstavlja število časovnih enot, ki jih je treba dodati. (npr. 20 za dodajanje 20 enot)

Datum: Začetni datum. Glej naslednji razdelek.

Programiranje VBA | Generator kod deluje za vas!

Primeri funkcije Excel VBA DateAdd

Sklicevanje na datume

Za začetek bomo prikazali različne načine sklicevanja na datume s funkcijo VBA DateAdd.

Vsaka od teh funkcij DateAdd daje enak 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. april 2022"))End Sub

Lahko pa se sklicujete na celico, ki vsebuje datum:

12345 Sub DateAdd_ReferenceDates_Cell ()MsgBox DateAdd ("m", 2, Range ("C2"). Vrednost)End Sub

Ali pa ustvarite in se sklicujte na spremenljivko datuma:

12345678 Sub DateAdd_Variable ()Zatemni dt kot datumdt = #4/1/2021 #MsgBox DateAdd ("m", 2, dt)End Sub

Dodajte ali odštejte datume

Že smo vam pokazali, kako dodati datumu:

123456 Sub DateAdd_Day2 ()Zatemni dt kot datumdt = DateAdd ("d", 20, #4/1/2021 #)MsgBox dtEnd Sub

Od datumov lahko odštejete z uporabo negativne številke (npr. -20 namesto 20):

123456 Sub DateAdd_Day ()Zatemni dt kot datumdt = DateAdd ("d", -20, #4/1/2021 #)MsgBox dtEnd Sub

Utrujen od iskanja primerov kode VBA? Preizkusite AutoMacro!

Dodajanje različnih enot časa

Leta

123 Sub DateAdd_Years ()MsgBox DateAdd ("llll", 4, #4/1/2021 #)End Sub

Četrtina

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

Mesec

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

Dan v letu

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

Dan

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

Delovni dan

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

Teden

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

Programiranje VBA | Generator kod deluje za vas!

Dodaj še danes

Ti primeri bodo danes dodali časovne enote s funkcijo datuma.

123456789 Sub DateAdd_Year_Test ()Dim dtToday As DateZatemni dtKasneje kot datumdtToday = DatumdtLater = DateAdd ("llll", 1, dtToday)MsgBox "Leto kasneje je" & dtLaterEnd Sub
123 Sub DateAdd_Quarter_Test ()MsgBox "2 četrtini pozneje je" & DateAdd ("q", 2, datum)End Sub

Dodajanje in odštevanje časa

Funkcija DateAdd deluje tudi s Timesom. Tu je nekaj primerov dodajanja (ali odštevanja) časa k času:

Ura

Ta primer bo dodal 2 uri na čas:

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

Minuta

Ta primer bo od trenutnega časa odštel 120 minut:

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

Drugič

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

Oblikovanje datumov

Ko so v Excelu, uporabniških obrazcih ali sporočilih prikazani datumi (ali časi), morate s funkcijo oblikovanja navesti, kako naj bodo datumi prikazani. Spodaj smo vključili nekaj primerov:

123456789101112131415161718 PodoblikovanjeDatesTimes ()'Vrne trenutni datum in časdt = Zdaj ()'ex. 07/02/2021Obseg ("B2") = Oblika (dt, "mm/dd/llll")'ex. 2. julij 2022Obseg ("B3") = Oblika (dt, "mmmm d, llll")'ex. 2. julij 2022 09:10Obseg ("B4") = Oblika (dt, "mm/dd/llllll hh: mm")'ex. 7.2.21 9:10Obseg ("B5") = Oblika (dt, "m.d.yy h: mm AM/PM")End Sub

wave wave wave wave wave