VBA „DateAdd“ funkcija

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

wave wave wave wave wave