VBA DateAdd -toiminto

PäivämääräLisää kuvaus

VBA DateAdd -toiminnon avulla voit lisätä (tai vähentää) päiviä, kuukausia, vuosia, tunteja, neljänneksiä jne. Päivämääriin tai kellonaikoihin.

Yksinkertaisia ​​DateAdd -esimerkkejä

Tässä on yksinkertainen DateAdd -esimerkki:

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

Tämä koodi lisää 20 päivää (merkitty "d") päivämäärään 1.4.2021:

Sen sijaan voimme muuttaa Interval -argumentin arvosta "d" arvoon "m" lisätäksesi 20 kuukautta päivämäärään 1.4.2021:

123 AlapäivämääräAdd_Month ()MsgBox DateAdd ("m", 20, #4/1/2021 #)End Sub

Päivämäärän näyttämisen sijaan viestiruudussa voimme määrittää sen muuttujalle:

123456 AlapäivämääräLisää_päivä2 ()Dim dt päivämääränädt = DateAdd ("d", 20, #4/1/2021 #)MsgBox dtEnd Sub

DateAdd Syntax

VBA -editorissa voit kirjoittaa "DateAdd (") nähdäksesi DateAdd -funktion syntaksin:

DateAdd -funktio sisältää 3 argumenttia:

Väli: Aikayksikkö (päivät, kuukaudet, vuodet jne.). Kirjoita merkkijonoksi. (esim. “m” kuukaudelle)

Asetus Kuvaus
yyyy Vuosi
q Neljännes
m Kuukausi
y Vuoden päivä
d Päivä
w Arkipäivä
ww Viikko
h Tunnin
n Minuutti
s Toinen

Määrä: Numeerinen arvo, joka edustaa lisättävien aikayksiköiden määrää. (esim. 20 lisää 20 yksikköä)

Päivämäärä: Alkuperäinen päivämäärä. Katso seuraava jakso.

VBA -ohjelmointi | Koodigeneraattori toimii sinulle!

Esimerkkejä Excel VBA DateAdd -toiminnosta

Viittauspäivämäärät

Aluksi esittelemme erilaisia ​​tapoja viitata päivämääriin käyttämällä VBA DateAdd -toimintoa.

Jokainen näistä DateAdd -funktioista tuottaa saman tuloksen:

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. huhtikuuta 2022"))End Sub

Tai voit viitata soluun, joka sisältää päivämäärän:

12345 Sub DateAdd_ReferenceDates_Cell ()MsgBox DateAdd ("m", 2, alue ("C2") Arvo)End Sub

Tai luo päivämäärämuuttuja ja viittaa siihen:

12345678 Sub DateAdd_Variable ()Dim dt päivämääränädt = #4/1/2021 #MsgBox DateAdd ("m", 2, dt)End Sub

Lisää tai vähennä päivämääriä

Olemme jo osoittaneet, kuinka lisätä päivämäärään:

123456 AlapäivämääräLisää_päivä2 ()Dim dt päivämääränädt = DateAdd ("d", 20, #4/1/2021 #)MsgBox dtEnd Sub

Voit vähentää päivämääristä käyttämällä negatiivista lukua (esim. -20 20 sijasta):

123456 Sub DateAdd_Day ()Dim dt päivämääränädt = DateAdd ("d", -20, #4/1/2021 #)MsgBox dtEnd Sub

Oletko kyllästynyt etsimään esimerkkejä VBA -koodista? Kokeile AutoMacroa!

Ajan eri yksiköiden lisääminen

Vuosia

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

Neljännes

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

Kuukausi

123 AlapäivämääräAdd_Months ()MsgBox DateAdd ("m", 2, #4/1/2021 #)End Sub

Vuoden päivä

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

Päivä

123 AlapäivämääräAdd_Days3 ()MsgBox DateAdd ("d", 2, #4/1/2021 #)End Sub

Arkipäivä

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

Viikko

123 AlapäivämääräAdd_Weeks ()MsgBox DateAdd ("ww", 2, #4/1/2021 #)End Sub

VBA -ohjelmointi | Koodigeneraattori toimii sinulle!

Lisää tänään

Nämä esimerkit lisäävät aikayksiköitä tähän päivään päivämäärätoiminnon avulla.

123456789 Sub DateAdd_Year_Test ()Dim dtToday As DateDim dtLate As DatedtToday = PäivämäärädtLater = DateAdd ("yyyy", 1, dtToday)MsgBox "Vuotta myöhemmin on" & dtLaterEnd Sub
123 Sub DateAdd_Quarter_Test ()MsgBox "2 neljäsosaa myöhemmin on" & DateAdd ("q", 2, päivämäärä)End Sub

Ajan lisääminen ja vähentäminen

DateAdd -toiminto toimii myös Timesin kanssa. Tässä on muutamia esimerkkejä ajan lisäämisestä (tai vähentämisestä) yhteen aikaan:

Tunnin

Tämä esimerkki lisää 2 tuntia kerrallaan:

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

Minuutti

Tämä esimerkki vähentää 120 minuuttia nykyisestä ajasta:

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

Toinen

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

Päivämäärien muotoilu

Kun päivämäärät (tai ajat) näytetään Excelissä, UserFormsissa tai Messageboxissa, sinun on ilmoitettava, miten päivämäärät tulee näyttää, käyttämällä Format -toimintoa. Olemme lisänneet alla muutamia esimerkkejä:

123456789101112131415161718 AlimuotoiluDatesTimes ()'Palauttaa nykyisen päivämäärän ja kellonajandt = Nyt ()'esim. 07.02.2021Alue ("B2") = Muoto (dt, "kk/pp/vvvv")'esim. 2. heinäkuuta 2022Alue ("B3") = Muoto (dt, "mmmm d, yyyy")'esim. 2. heinäkuuta 2022 09:10Alue ("B4") = Muoto (dt, "mm/dd/yyyy hh: mm")'esim. 7.2.21 9:10Alue ("B5") = Muoto (dt, "k.p.yy h: mm AM/PM")End Sub

wave wave wave wave wave