DateAdd Description
VBA „DateAdd“ funkcija leidžia prie datų ar laiko pridėti (arba atimti) dienas, mėnesius, metus, valandas, ketvirčius ir kt.
Paprasti „DateAdd“ pavyzdžiai
Čia yra paprastas „DateAdd“ pavyzdys:
123 | Sub DateAdd_Day ()„MsgBox“ DateAdd („d“, 20, #4/1/2021 #)Pabaiga Sub |
Šis kodas prie 2021-04-01 datos pridės 20 dienų (pažymėtas „d“):
Vietoj to, galime pakeisti intervalo argumentą iš „d“ į „m“, kad 2021-04-01 datai pridėtume 20 mėnesių:
123 | Sub DateAdd_Month ()„MsgBox“ DateAdd („m“, 20, #4/1/2021 #)Pabaiga Sub |
Užuot rodę datą pranešimų laukelyje, galime ją priskirti kintamajam:
123456 | Antroji dataAdd_Day2 ()Dim dt kaip Datadt = DateAdd ("d", 20, #4/1/2021 #)„MsgBox dt.“Pabaiga Sub |
DateAdd Syntax
VBA redaktoriuje galite įvesti „DateAdd (“), kad pamatytumėte „DateAdd“ funkcijos sintaksę:
Funkcijoje DateAdd yra 3 argumentai:
Intervalas: Laiko vienetas (dienos, mėnesiai, metai ir kt.). Įveskite kaip eilutę. (pvz., „m“ mėnesiui)
Nustatymas | apibūdinimas |
---|---|
yyyy | Metai |
q | Ketvirtis |
m | Mėnuo |
y | Metų diena |
d | Diena |
w | Savaitės diena |
ww | Savaitė |
h | Valanda |
n | Minutė |
s | Antra |
Skaičius: Skaitinė vertė, nurodanti pridedamų laiko vienetų skaičių. (pvz., 20, norint pridėti 20 vienetų)
Data: Pradinė data. Žr. Kitą skyrių.
VBA programavimas | Kodo generatorius jums tinka!
„Excel VBA DateAdd“ funkcijos pavyzdžiai
Nuorodos datos
Norėdami pradėti, parodysime skirtingus datų nuorodų būdus, naudodami funkciją VBA DateAdd.
Kiekviena iš šių „DateAdd“ funkcijų duoda tą patį 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 („2022 m. Balandžio 1 d.“))Pabaiga Sub |
Arba galite nurodyti langelį, kuriame yra data:
12345 | Sub DateAdd_ReferenceDates_Cell ()„MsgBox DateAdd“ („m“, 2, diapazonas („C2“). Vertė)Pabaiga Sub |
Arba sukurkite datos kintamąjį ir nurodykite jį:
12345678 | Sub DateAdd_Variable ()Dim dt As Datedt = #4/1/2021 #„MsgBox DateAdd“ („m“, 2, dt)Pabaiga Sub |
Pridėti arba atimti datas
Mes jau parodėme, kaip pridėti prie datos:
123456 | Antroji dataAdd_Day2 ()Dim dt kaip Datadt = DateAdd ("d", 20, #4/1/2021 #)„MsgBox dt.“Pabaiga Sub |
Galite atimti iš datų naudodami neigiamą skaičių (pvz., -20 vietoj 20):
123456 | Sub DateAdd_Day ()Dim dt kaip Datadt = DateAdd ("d", -20, #4/1/2021 #)„MsgBox dt.“Pabaiga Sub |
Pavargote ieškoti VBA kodo pavyzdžių? Išbandykite „AutoMacro“!
Įvairių laiko vienetų pridėjimas
Metai
123 | Sub DateAdd_Years ()„MsgBox DateAdd“ („yyyy“, 4, #4/1/2021 #)Pabaiga Sub |
Ketvirtis
123 | Sub DateAdd_Quarters ()„MsgBox“ DateAdd („q“, 2, #4/1/2021 #)Pabaiga Sub |
Mėnuo
123 | Sub DateAdd_Months ()„MsgBox“ DateAdd („m“, 2, #4/1/2021 #)Pabaiga Sub |
Metų diena
123 | Sub DateAdd_DaysofYear ()„MsgBox“ DateAdd („y“, 2, #4/1/2021 #)Pabaiga Sub |
Diena
123 | Sub DateAdd_Days3 ()„MsgBox“ DateAdd („d“, 2, #4/1/2021 #)Pabaiga Sub |
Savaitės diena
123 | Sub DateAdd_Weekdays ()„MsgBox DateAdd“ („w“, 2, #4/1/2021 #)Pabaiga Sub |
Savaitė
123 | Sub DateAdd_Weeks ()„MsgBox DateAdd“ („ww“, 2, #4/1/2021 #)Pabaiga Sub |
VBA programavimas | Kodo generatorius jums tinka!
Pridėti prie šiandienos
Šie pavyzdžiai pridės laiko vienetus prie šiandienos naudodami datos funkciją.
123456789 | Sub DateAdd_Year_Test ()Dim dtŠiandien kaip dataDim dtLater As DatedtToday = DatadtLater = DateAdd ("yyyy", 1, dtToday)„MsgBox“ „Po metų“ yra „& dtLater“Pabaiga Sub |
123 | Sub DateAdd_Quarter_Test ()„MsgBox“ 2 ketvirčiais vėliau yra „& DateAdd“ („q“, 2, data)Pabaiga Sub |
Laiko pridėjimas ir atėmimas
„DateAdd“ funkcija taip pat veikia su „Times“. Pateikiame keletą laiko pridėjimo (arba atėmimo) pavyzdžių:
Valanda
Šis pavyzdys papildys 2 valandas vienu metu:
123 | Sub DateAdd_Hour ()„MsgBox DateAdd“ („h“, 2, #4/1/2021 6: 00: 00 #)Pabaiga Sub |
Minutė
Šis pavyzdys iš dabartinio laiko atims 120 minučių:
123 | Sub DateAdd_Minute_Subtract ()„MsgBox DateAdd“ („n“, -120, dabar)Pabaiga Sub |
Antra
123 | Sub DateAdd_Second ()„MsgBox DateAdd“ („s“, 2, #4/1/2021 6: 00: 00 #)Pabaiga Sub |
Datų formatavimas
Kai datos (ar laikai) rodomos „Excel“, „UserForms“ ar „Messageboxes“, naudodami formatavimo funkciją turėtumėte nurodyti, kaip turėtų būti rodomos datos. Žemiau pateikėme keletą pavyzdžių:
123456789101112131415161718 | SubformatavimasDatesTimes ()'Pateikia dabartinę datą ir laikądt = Dabar ()'pvz. 2021 02 02Diapazonas ("B2") = formatas (dt, "mm/dd/yyyy")'pvz. 2022 m. Liepos 2 dDiapazonas ("B3") = formatas (dt, "mmmm d, yyyy")'pvz. 2022 m. Liepos 2 d. 09:10Diapazonas ("B4") = formatas (dt, "mm/dd/yyyy hh: mm")'pvz. 7.2.21 9:10Diapazonas ("B5") = Formatas (dt, "m.d.yy h: mm AM/PM")Pabaiga Sub |