Kako uporabiti funkcijo DateAdd VBA v Excelu

  • Deliti To
Hugh West

Spletna stran Funkcija VBA DateAdd je v kategoriji datum in čas v Excelovem Funkcije VBA Z uporabo te funkcije lahko od danega datuma prištejemo ali odštejemo leta, mesece, dneve, četrtine in celo različne časovne intervale, kot so ure, minute, sekunde. Ravnanje z datumom in časom v vsakodnevnih izračunih za izdelavo poročil ali primerjav je pogost scenarij. V Excelu uporaba funkcij datuma in časa VBA, kot je funkcija DateAdd, omogoča kompleksne ali dolgotrajne izračuneučinkovitejši in hitrejši.

Prenesite delovni zvezek za prakso

Prenesite ta delovni zvezek za vadbo, ki ga lahko uporabljate med branjem tega članka.

Funkcija VBA DateAdd.xlsm

Uvod v funkcijo Excel VBA DateAdd

Rezultati:

datum, kateremu se prišteje ali odšteje določen časovni interval.

Sintaksa:

DateAdd (interval, številka, datum)

Argumenti:

Argument Obvezno/izbirno Opis
interval Zahtevano A niz izražanje.

Časovni interval v različnih nastavitvah, ki ga želimo dodati številka Zahtevano A številčni izraz .

Spletna stran številka na spletnem mestu intervali ki jih je treba dodati ali odšteti.

Lahko je pozitivno - za prihodnost datumi

Lahko je negativni - za preteklost datumi datum Zahtevano A datum izraz

Spletna stran datum na katerega se nanaša intervali so . dodano

Nastavitve:

Spletna stran Funkcija DateAdd ima te nastavitve intervala:

Nastavitev Opis
yyyy Leto
q Četrtletje
m Mesec
y Leto dneva
d Dan
w Dnevni program ob delavnikih
ww Teden
h Ura
n Minuta
s Drugi

Primeri funkcije Excel VBA DateAdd

Formulacijski izrazi funkcije Excel DateAdd

Obstajajo različni načini, kako postaviti datum argument v Funkcija DateAdd. Rezultat vseh je enak.

Vpišite naslednje koda v Urejevalnik Visual Basic:

(Kako zagnati kodo v urejevalniku Visual Basic)

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

Razlaga: :

DateAdd("yyyy",2, eno od naslednjih metod)

Za vnos argumenta datum lahko uporabimo različne metode:

  • #1/1/2011#
  • DateSerial( leto , mesec, dan)
  • DateValue( datum )
  • Razpon ("celica") - Datum, shranjen v celici
  • Shranjevanje datuma v spremenljivko

V celicah D3, D4, D5, D6, D7 zgornje metode postavimo kot datum argument DateAdd funkcijo zaporedno in dobil enak rezultat.

Dodali smo 2 več let na . 1/1/2022 kar je povzročilo 1/1/2024.

Tukaj,

yyyy predstavlja leto kot interval

2 predstavlja število intervalov kot številka .

Pomoč: Kako zagnati kodo v urejevalniku Visual Basic

Sledite korakom:

  • Od Excelov trak , pojdite na Zavihek Razvijalec in izberite Visual Basic Tab.

  • V novem oknu kliknite Vstavite in izberite zavihek Modul.

  • Napišite svoj koda v urejevalniku in pritisnite F5 na . teči.

Dodajanje različnih nastavitev intervala z uporabo funkcije DateAdd v Excelu

1. Dodaj leto

Koda:

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

Rezultat: 2 leti dodano v 1/1/2022 (mm/dd/llllll) in je bil rezultat 1/1/2024 (mm//dd/rrrr).

Preberite več: Kako uporabiti funkcijo Leto v programu Excel VBA

2. Dodajte četrtletje

Koda:

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

Rezultat: 2 četrtletja = 6 mesecev dodano v 1/1/2022 (mm/dd/llllll) in je bil rezultat 7/1/2022 (mm//dd/rrrr).

3. Dodaj mesec

Koda:

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

Rezultat: 2 meseca dodano v 1/1/2022 (mm/dd/llllll) in je bil rezultat 3/1/2022 (mm//dd/rrrr).

Preberite več: Kako uporabljati funkcijo Excel VBA MESEC

4. Dodajte dan v letu

Koda:

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

Rezultat : 2 dodan dan v letu na . 1/1/2022 (mm/dd/llllll) in je bil rezultat 1/3/2022 (mm//dd/rrrr).

Preberite več: Kako uporabiti funkcijo Dan v Excelu VBA

5. Dodajte dan

Koda:

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

Rezultat: dodana 2 dni na . 1/1/2022 (mm/dd/llllll) in je bil rezultat 1/3/2022 (mm//dd/rrrr).

Podobna branja

  • Excel VBA za iskanje številke tedna (6 hitrih primerov)
  • Kako uporabiti funkcijo DatePart VBA v Excelu (7 primerov)
  • Uporaba funkcije VBA DateSerial v Excelu (5 enostavnih aplikacij)
  • Kako pretvoriti datum iz niza z uporabo VBA (7 načinov)

6. Dodajanje dneva v tednu

Koda:

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

Rezultat: dodanih je bilo 10 dni v tednu na . 1/1/2022 (mm/dd/llllll) in je bil rezultat 1/11/2022 (mm//dd/rrrr).

7. Dodaj teden

Koda:

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

Rezultat: 2 tedna = 14 dodanih dni na . 1/1/2022 (mm/dd/llllll) in je bil rezultat 1/15/2022 (mm//dd/rrrr).

Preberite več: Kako pridobiti dan v tednu z uporabo VBA

8. Dodajte uro

Koda:

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

Rezultat: dodanih 14 ur na . 1/1/2022 12:00 (mm/dd/llllll: hh/mm) in je povzročil 1/1/2022 14:00 (mm//dd/rrrr : hh/mm).

9. Dodaj minuto

Koda:

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

Rezultat: dodanih 90 minut = 1,30 ure na . 1/1/2022 12:00 (mm/dd/llllll) in je bil rezultat 1/1/2022 1:30 (mm//dd/rrrr).

10. Dodajte drugo

Koda:

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

Rezultat: 120 sekund = 2 dodani minuti na . 1/1/2022 12:00 (mm/dd/llllll : hh/mm) in je bil rezultat 1/1/2022 12:02 (mm//dd/rrrr : hh/mm).

Uporaba funkcije DateAdd v Excelu za odštevanje različnih nastavitev intervala

Podobno lahko odšteti let, mesecev, dni, ur, minut itd. iz datuma z uporabo znak minus na spletnem mestu spredaj o argument števila . Na primer:

Koda:

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

Rezultat: 2 leti odšteti od 1/1/2022 (mm/dd/llllll) in je bil rezultat 1/1/2020 (mm//dd/rrrr).

Stvari, ki si jih je treba zapomniti

  • Ko uporabljamo 'w' dodati ob delavnikih sešteva se vse dni v tednu vključno s soboto in nedeljo, ne le z delovnimi dnevi (kar bi morda kdo pričakoval).
  • Funkcija DateAdd na koncu ne prikaže neveljaven datum Če na primer 31. januarju 2022 dodamo 1 mesec, bo rezultat 28. februar 2022 in ne 31. februar 2022 (ta datum ne obstaja).
  • Če odštejemo več kot 122 let od zdaj an napaka bi se pojavil, ker bi Excelov datum začne s spletne strani 1. januar 1990.
  • Datum vrnitve funkcije DateAdd je odvisen od Nadzorna plošča Nastavitve datuma.
  • Datumski argument funkcije DateAdd naj bo v skladu z Lastnost koledarja . Če je koledar Gregorijanski jezik , vhodni podatek da te argument mora biti tudi v Gregorijanski jezik . Podobno, če je koledar v obliki Hijri, mora biti argument za datum v enaki obliki.

Zaključek

Zdaj vemo, kako v Excelu uporabiti funkcijo VBA DateAdd. Upamo, da vas bo to spodbudilo k bolj samozavestni uporabi te funkcije. Morebitna vprašanja ali predloge ne pozabite postaviti v spodnjem polju za komentarje.

Hugh West je zelo izkušen trener Excela in analitik z več kot 10-letnimi izkušnjami v industriji. Po izobrazbi je diplomirani računovodstvo in finance ter magisterij poslovne administracije. Hugh ima strast do poučevanja in je razvil edinstven pristop k poučevanju, ki ga je enostavno slediti in razumeti. Njegovo strokovno znanje o Excelu je pomagalo na tisoče študentom in strokovnjakom po vsem svetu, da so izboljšali svoje sposobnosti in se izkazali v karieri. Prek svojega bloga Hugh deli svoje znanje s svetom, ponuja brezplačne vadnice za Excel in spletno usposabljanje, ki posameznikom in podjetjem pomaga doseči njihov polni potencial.