Kaip naudoti VBA funkciją DateAdd programoje "Excel

  • Pasidalinti
Hugh West

Svetainė VBA funkcija DateAdd yra Excel programos datos ir laiko kategorijoje VBA funkcijos Naudodami šią funkciją galime pridėti arba atimti metus, mėnesius, dienas, ketvirčius ir net įvairius laiko intervalus, tokius kaip valandos, minutės, sekundės, iš tam tikros datos. Darbas su data ir laiku atliekant kasdienius skaičiavimus ataskaitoms rengti arba palyginimams atlikti yra dažnas scenarijus. Excel programoje naudojant VBA datos ir laiko funkcijas, tokias kaip DateAdd funkcija, sudėtingi ar daug laiko reikalaujantys skaičiavimaiefektyviau ir greičiau.

Atsisiųsti praktikos sąsiuvinį

Atsisiųskite šį pratybų sąsiuvinį, kad galėtumėte atlikti pratimus skaitydami šį straipsnį.

VBA DateAdd Function.xlsm

Įvadas į "Excel" VBA funkciją DateAdd

Rezultatai:

data, prie kurios pridedamas arba atimamas tam tikras laiko intervalas.

Sintaksė:

DateAdd (intervalas, skaičius, data)

Argumentai:

Argumentas Privalomas / pasirenkamas Aprašymas
intervalas Reikalinga A eilutė išraiška.

Laiko intervalas įvairiuose nustatymuose, kurį norime pridėti numeris Reikalinga A skaitmeninis išraiška .

Svetainė numeris intervalai pridėti arba atimti

Gali būti teigiamas - už ateitis datos

Gali būti neigiamas - už praeityje datos data Reikalinga A data išraiška

Svetainė data į kurį intervalai yra pridėta

Nustatymai:

Svetainė Funkcija DateAdd turi šiuos intervalų nustatymai:

Nustatymas Aprašymas
yyyy Metai
q Ketvirtis
m Mėnuo
y Dienos metai
d Diena
w Savaitgalis
ww Savaitė
h Valanda
n Minutė
s Antrasis

"Excel" VBA funkcijos DateAdd pavyzdžiai

"Excel" funkcijos DateAdd formulės išraiškos

Yra įvairių būdų, kaip įdėti data argumentas į DateAdd funkcija. Visi jie duoda tą patį rezultatą.

Įdėkite šiuos kodas į "Visual Basic" redaktorius:

(Kaip paleisti kodą "Visual Basic" redaktoriuje)

 Sub add_year() Range("D3") = DateAdd("yyyy", 2, #1/1/2022#) Range("D4") = DateAdd("yyyy", 2, DateSerial(2022, 1, 1)) Range("D5") = DateAdd("yyyy", 2, DateValue("Jan 1, 2022")) Range("D6") = DateAdd("yyyy", 2, Range("B6")) End Sub 

Paaiškinimas :

DateAdd("yyyy",2, vieną iš šių metodų)

Norėdami įrašyti datos argumentą, galime naudoti įvairius metodus:

  • #1/1/2011#
  • DateSerial( metai , mėnuo, diena)
  • DateValue( data )
  • Diapazonas ("ląstelė") - ląstelėje saugoma data
  • Datos saugojimas kintamajame

Ląstelėse D3, D4, D5, D6, D7 pirmiau minėtus metodus pateikiame kaip data argumentas DateAdd funkciją nuosekliai ir gavo tas pats rezultatas.

Pridėjome 2 daugiau metų į 1/1/2022 dėl to 1/1/2024.

Čia,

yyyy reiškia metus kaip intervalas

2 intervalų skaičius yra toks numeris .

Pagalba: Kaip paleisti kodą "Visual Basic" redaktoriuje

Atlikite šiuos veiksmus:

  • "Excel" juostelė , eikite į Kūrėjo skirtukas ir pasirinkite "Visual Basic Skirtukas.

  • Naujame lange spustelėkite Įdėkite skirtuką ir pasirinkite Modulis.

  • Parašykite savo kodas redaktoriuje ir paspauskite F5 į paleisti.

Įvairių intervalų nustatymų pridėjimas naudojant funkciją "DateAdd" programoje "Excel

1. Pridėti metus

Kodas:

 Sub DateAdd_Years() Range("F5") = DateAdd("yyyy", 2, Range("D5")) End Sub 

Rezultatas: 2 metai pridėta prie 1/1/2022 (mm/dd/rrrr) ir dėl to 1/1/2024 (mm//d/dd/yyyy).

Skaityti daugiau: Kaip naudoti metų funkciją "Excel VBA

2. Pridėti ketvirtį

Kodas:

 Sub DateAdd_Quarters() Kategorijos ("F5") = DateAdd("q", 2, Kategorijos ("D5")) End Sub 

Rezultatas: 2 ketvirčiai = 6 mėnesiai pridėta prie 1/1/2022 (mm/dd/rrrr) ir dėl to 7/1/2022 (mm//d/dd/yyyy).

3. Pridėti mėnesį

Kodas:

 Sub DateAdd_Months() Range("F5") = DateAdd("m", 2, Range("D5")) End Sub 

Rezultatas: 2 mėnesiai pridėta prie 1/1/2022 (mm/dd/rrrr) ir dėl to 3/1/2022 (mm//d/dd/yyyy).

Skaityti daugiau: Kaip naudoti "Excel" VBA funkciją MĖNESIS

4. Pridėti metų dieną

Kodas:

 Sub DateAdd_DayOfYear() Range("F5") = DateAdd("y", 2, Range("D5")) End Sub 

Rezultatas : pridėta 2 metų diena į 1/1/2022 (mm/dd/rrrr) ir dėl to 1/3/2022 (mm//d/dd/yyyy).

Skaityti daugiau: Kaip naudoti "Excel" VBA funkciją "Day

5. Pridėti dieną

Kodas:

 Sub DateAdd_Day() Range("F5") = DateAdd("d", 2, Range("D5")) End Sub 

Rezultatas: pridėtos 2 dienos į 1/1/2022 (mm/dd/rrrr) ir dėl to 1/3/2022 (mm//d/dd/yyyy).

Panašūs skaitiniai

  • "Excel" VBA savaitės numeriui rasti (6 greiti pavyzdžiai)
  • Kaip "Excel" programoje naudoti VBA funkciją "DatePart" (7 pavyzdžiai)
  • VBA DateSerial funkcijos naudojimas programoje "Excel" (5 paprastos programos)
  • Kaip konvertuoti datą iš eilutės naudojant VBA (7 būdai)

6. Pridėti savaitės dieną

Kodas:

 Sub DateAdd_WeekDay() Range("F5") = DateAdd("w", 10, Range("D5")) End Sub 

Rezultatas: pridėta 10 savaitės dienų į 1/1/2022 (mm/dd/rrrr) ir dėl to 1/11/2022 (mm//d/dd/yyyy).

7. Pridėti savaitę

Kodas:

 Sub DateAdd_Weeks() Range("F5") = DateAdd("ww", 2, Range("D5")) End Sub 

Rezultatas: pridėtos 2 savaitės = 14 dienų į 1/1/2022 (mm/dd/rrrr) ir dėl to 1/15/2022 (mm//d/dd/yyyy).

Skaityti daugiau: Kaip gauti savaitės dieną naudojant VBA

8. Pridėti valandą

Kodas:

 Sub DateAdd_Hours() Range("F5") = DateAdd("h", 14, Range("D5")) End Sub 

Rezultatas: pridėta 14 valandų į 2022 M. SAUSIO 1 D. 12:00 VAL. (mm/dd/yyyyyy: hh/mm), o rezultatas buvo 2022 M. SAUSIO 1 D. 14:00 VAL. (mm//dd/yyyy : hh/mm).

9. Pridėti minutę

Kodas:

 Sub DateAdd_Minutes() Range("F5") = DateAdd("n", 90, Range("D5")) End Sub 

Rezultatas: 90 minučių = 1,30 pridėtos valandos į 2022 M. SAUSIO 1 D. 12:00 VAL. (mm/dd/rrrr) ir dėl to 2022 M. SAUSIO 1 D. 1:30 VAL. (mm//d/dd/yyyy).

10. Pridėti antrąjį

Kodas:

 Sub DateAdd_Seconds() Range("F5") = DateAdd("s", 120, Range("D5")) End Sub 

Rezultatas: 120 sekundžių = 2 pridėtos minutės į 2022 M. SAUSIO 1 D. 12:00 VAL. (mm/dd/rrrr : hh/mm) ir buvo 1/1/2022 12:02 VAL. (mm//dd/yyyy : hh/mm).

Funkcijos "DateAdd" naudojimas programoje "Excel" skirtingiems intervalų nustatymams atimti

Panašiai galime atimti metus, mėnesius, dienas, valandas, minutes ir t. t. iš datos naudojant minuso ženklas svetainėje priekinis skaičiaus argumentas . Pavyzdžiui:

Kodas:

 Sub DateAdd_Subtract_Years() Range("F5") = DateAdd("y", -2, Range("D5")) End Sub 

Rezultatas: 2 metai atimtas iš 1/1/2022 (mm/dd/rrrr) ir dėl to 1/1/2020 (mm//d/dd/yyyy).

Dalykai, kuriuos reikia prisiminti

  • Kai naudojame 'w' pridėti darbo dienomis ji kaupiasi visos savaitės dienos įskaitant šeštadienį ir sekmadienį, ne tik darbo dienomis (kaip kas nors gali tikėtis).
  • Funkcija DateAdd galiausiai nerodo negaliojanti data Pavyzdžiui, jei prie 2022 m. sausio 31 d. pridėsime 1 mėnesį, rezultatas bus 2022 m. vasario 28 d., o ne 2022 m. vasario 31 d. (jos nėra).
  • Jei atimsime daugiau nei 122 metus nuo dabar an klaida atsirastų, nes "Excel" data prasideda 1990 m. sausio 1 d.
  • Funkcijos DateAdd grąžinimo data priklauso nuo Valdymo skydas Datos nustatymai.
  • Funkcijos DateAdd datos argumentą turėtume nurodyti pagal Kalendoriaus nuosavybė . Jei kalendorius yra Gregorian , įvestis da te argumentas taip pat turėtų būti Gregorian . Panašiai, jei kalendorius yra Hijri, datos argumentas turi būti tokio pat formato.

Išvada

Dabar jau žinome, kaip "Excel" programoje naudoti VBA funkciją DateAdd. Tikimės, kad tai paskatins jus drąsiau naudotis šia funkcija. Jei turite klausimų ar pasiūlymų, nepamirškite jų pateikti toliau esančiame komentarų laukelyje.

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.