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 |