A VBA DateAdd funkció használata az Excelben

  • Ossza Meg Ezt
Hugh West

A VBA DateAdd funkció az Excel dátum és idő kategóriája alatt található. VBA funkciók Ennek a függvénynek a használatával éveket, hónapokat, napokat, negyedéveket, sőt különböző időintervallumokat, például órákat, perceket, másodperceket is hozzáadhatunk vagy kivonhatunk egy adott dátumból. A dátummal és az idővel való foglalkozás a napi számítások során, jelentések készítése vagy összehasonlítások készítése céljából gyakori forgatókönyv. Az Excelben a VBA dátum- és időfüggvények, például a DateAdd függvény használata bonyolult vagy időigényes számításokat tesz lehetővé.hatékonyabb és gyorsabb.

Gyakorlati munkafüzet letöltése

Töltse le ezt a gyakorlati munkafüzetet, hogy gyakorolhasson, miközben ezt a cikket olvassa.

VBA DateAdd funkció.xlsm

Bevezetés az Excel VBA DateAdd funkciójába

Eredmény:

egy dátum, amelyhez egy adott időintervallumot hozzáadunk vagy kivonunk

Szintaxis:

DateAdd (intervallum, szám, dátum)

Érvek:

Érv Kötelező/választható Leírás
intervallum Kötelező A string kifejezés.

Az időintervallum a különböző beállításokban, amit hozzá akarunk adni szám Kötelező A numerikus kifejezés .

A szám a intervallumok hozzáadandó vagy kivonandó

Lehet pozitív - mert jövőbeli dátumok

Lehet negatív - mert múlt dátumok dátum Kötelező A dátum kifejezés

A dátum amelyhez a intervallumok a hozzáadva

Beállítások:

A DateAdd funkció rendelkezik ezekkel intervallum beállítások:

A beállítása Leírás
yyyy Év
q Negyed
m Hónap
y A nap éve
d Nap
w Hétköznap
ww Hét
h Óra
n Perc
s Második

Példák az Excel VBA DateAdd funkcióra

Az Excel DateAdd funkció képletkifejezései

Különböző módon lehet a dátum érv a DateAdd funkció. Mindegyik ugyanazt a kimenetet eredményezi.

Tegye a következőket kód a Visual Basic szerkesztő:

(Kód futtatása a Visual Basic szerkesztőben)

 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 

Magyarázat :

DateAdd("yyyy",2, a következő módszerek egyike)

A dátum argumentum elhelyezéséhez különböző módszereket használhatunk:

  • #1/1/2011#
  • DateSerial( év , hónap, nap)
  • DateValue( dátum )
  • Tartomány ("cell") - Egy cellában tárolt dátum
  • A dátum tárolása egy változóban

A sejtekben D3, D4, D5, D6, D7 a fenti módszereket a dátum érv a DateAdd függvényt szekvenciálisan, és megkapta a ugyanaz az eredmény.

Hozzáadtuk 2 további évek a címre. 1/1/2022 ami azt eredményezte, hogy 1/1/2024.

Tessék,

yyyy az évet jelenti, mint intervallum

2 az intervallumok számát jelenti, mint szám .

Súgó: Kód futtatása a Visual Basic szerkesztőben

Kövesse a lépéseket:

  • A Excel szalag , menj a Fejlesztő lap és válassza a Visual Basic Tab.

  • Az új ablakban kattintson a Beillesztés lapot, és válassza a Modul.

  • Írja meg a kód a szerkesztőben, és nyomja meg a F5 a címre. futás.

Különböző intervallumbeállítások hozzáadása a DateAdd funkcióval az Excelben

1. Év hozzáadása

Kód:

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

Eredmény: 2 év hozzáadva a 1/1/2022 (mm/dd/yyyyyy) és a következőket eredményezte 1/1/2024 (mm/nap/éééééé).

Bővebben: Hogyan használjuk az év funkciót az Excel VBA-ban

2. Negyedév hozzáadása

Kód:

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

Eredmény: 2 negyedév = 6 hónap hozzáadva a 1/1/2022 (mm/dd/yyyyyy) és a következőket eredményezte 7/1/2022 (mm/nap/éééééé).

3. Hónap hozzáadása

Kód:

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

Eredmény: 2 hónap hozzáadva a 1/1/2022 (mm/dd/yyyyyy) és a következőket eredményezte 3/1/2022 (mm/nap/éééééé).

Bővebben: Hogyan kell használni az Excel VBA MONTH funkciót

4. Az év napjának hozzáadása

Kód:

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

Eredmény : 2 Az év napja hozzáadva a címre. 1/1/2022 (mm/dd/yyyyyy) és a következőket eredményezte 1/3/2022 (mm/nap/éééééé).

Bővebben: A nap funkció használata az Excel VBA-ban

5. Add Day

Kód:

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

Eredmény : 2 nap hozzáadás a címre. 1/1/2022 (mm/dd/yyyyyy) és a következőket eredményezte 1/3/2022 (mm/nap/éééééé).

Hasonló olvasmányok

  • Excel VBA a heti szám megkereséséhez (6 gyors példa)
  • A VBA DatePart funkció használata az Excelben (7 példa)
  • A VBA DateSerial funkció használata az Excelben (5 egyszerű alkalmazás)
  • Hogyan konvertáljuk a dátumot a karakterláncból a VBA segítségével (7 mód)

6. Hétköznap hozzáadása

Kód:

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

Eredmény: 10 WeekDays hozzáadva a címre. 1/1/2022 (mm/dd/yyyyyy) és a következőket eredményezte 1/11/2022 (mm/nap/éééééé).

7. Hét hozzáadása

Kód:

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

Eredmény: 2 hét= 14 nap hozzáadva a címre. 1/1/2022 (mm/dd/yyyyyy) és a következőket eredményezte 1/15/2022 (mm/nap/éééééé).

Bővebben: Hogyan kapjuk meg a hét napját a VBA használatával?

8. Óra hozzáadása

Kód:

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

Eredmény: 14 óra hozzáadás a címre. 1/1/2022 12:00 AM (mm/dd/yyyyyy: hh/mm) és a következő eredményt adta meg 1/1/2022 14:00 (mm//dd/yyyy : hh/mm).

9. Perc hozzáadása

Kód:

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

Eredmény : 90 perc = 1.30 óra hozzáadással a címre. 1/1/2022 12:00 AM (mm/dd/yyyyyy) és a következőket eredményezte 1/1/2022 1:30 AM (mm/nap/éééééé).

10. Második hozzáadása

Kód:

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

Eredmény: 120 másodperc = 2 perc hozzáadott idő a címre. 1/1/2022 12:00 AM (mm/dd/yyyy : hh/mm) és a következő eredményt adta meg 1/1/2022 12:02 AM (mm//dd/yyyy : hh/mm).

A DateAdd funkció használata Excelben a különböző intervallumbeállítások kivonásához

Hasonlóképpen, mi is kivonjuk év, hónap, nap, óra, perc, stb. egy dátumból egy dátum segítségével. mínusz jel a oldalon. elöl a számérv Például:

Kód:

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

Eredmény: 2 év kivonva 1/1/2022 (mm/dd/yyyyyy) és a következőket eredményezte 1/1/2020 (mm/nap/éééééé).

Emlékezetes dolgok

  • Amikor használjuk 'w' hozzáadni hétköznapokon összeadódik a hét minden napja beleértve a szombatot és a vasárnapot is, nem csak a munkanapokat(valaki azt várná).
  • A DateAdd függvény nem jeleníti meg a DateAdd függvényt. érvénytelen dátum Például, ha hozzáadunk 1 hónapot 2022. január 31-hez, akkor az eredmény 2022. február 28. lesz, nem pedig 2022. február 31. (ez nem létezik).
  • Ha több mint 122 évet kivonunk mostantól egy hiba fordulna elő, mert az Excel dátum elindul a címről 1990. január 1.
  • A DateAdd függvény visszatérési dátuma függ a Vezérlőpult Dátumbeállítások.
  • A DateAdd függvény dátum argumentumát a DateAdd függvénynek megfelelően a Naptár tulajdonság Ha a naptár Gregorián , a bemeneti da Az érvelés szintén a Gregorián Hasonlóképpen, ha a naptár Hijriben van, a dátum argumentumnak ugyanilyen formátumúnak kell lennie.

Következtetés

Most már tudjuk, hogyan kell használni a VBA DateAdd funkciót az Excelben. Remélhetőleg ez arra ösztönzi Önt, hogy magabiztosabban használja ezt a funkciót. Bármilyen kérdés vagy javaslat ne felejtse el, hogy tegye be őket az alábbi megjegyzés rovatba.

Hugh West nagy tapasztalattal rendelkező Excel-oktató és elemző, több mint 10 éves tapasztalattal az iparágban. Számvitel és pénzügy szakos alapdiplomát, valamint üzleti adminisztrációból mesterképzést szerzett. Hugh szenvedélye a tanítás, és egyedülálló tanítási megközelítést dolgozott ki, amely könnyen követhető és érthető. Az Excelben szerzett szakértői tudása világszerte több ezer diáknak és szakembernek segített abban, hogy készségeiket és karrierjüket kiválóan teljesítsék. Hugh blogján keresztül megosztja tudását a világgal, ingyenes Excel-oktatóanyagokat és online képzéseket kínálva, hogy segítse az egyéneket és a vállalkozásokat teljes potenciáljuk kibontakoztatásában.