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 |