VBA DateAdd -toiminnon käyttäminen Excelissä

  • Jaa Tämä
Hugh West

The VBA DateAdd-toiminto on Excelin päivämäärän ja kellonajan luokassa. VBA-toiminnot Tämän toiminnon avulla voimme lisätä tai vähentää vuosia, kuukausia, päiviä, neljännesvuosia ja jopa erilaisia aikavälejä, kuten tunteja, minuutteja ja sekunteja, tietystä päivämäärästä. Päivämäärän ja ajan käsittely päivittäisissä laskutoimituksissa raporttien luomiseksi tai vertailujen tekemiseksi on yleinen skenaario. VBA-päivämäärä- ja aikatoimintojen, kuten DateAdd-toiminnon, käyttö Excelissä tekee monimutkaisista tai aikaa vievistä laskutoimituksista helpompia.tehokkaampi ja nopeampi.

Lataa harjoituskirja

Lataa tämä harjoituskirja, jotta voit harjoitella tätä artikkelia lukiessasi.

VBA DateAdd-funktio.xlsm

Johdanto Excel VBA DateAdd -funktioon (DateAdd)

Tulos:

päivämäärä, johon lisätään tai josta vähennetään tietty aikaväli.

Syntaksi:

DateAdd (aikaväli, numero, päivämäärä)

Argumentit:

Argumentti Vaadittava/Vapaaehtoinen Kuvaus
intervalli Vaadittu A merkkijono ilmaisu.

Aikaväli eri asetuksissa, jotka haluamme lisätä. numero Vaadittu A numeerinen ilmaisu .

The numero of aikaväli lisätään tai vähennetään

Voi olla positiivinen - sillä tuleva päivämäärät

Voi olla negatiivinen - sillä aiemmin päivämäärät päivämäärä Vaadittu A päivämäärä ilmaisu

The päivämäärä johon aikaväli ovat lisätty

Asetukset:

The DateAdd-toiminto on nämä intervalliasetukset:

Asetukset Kuvaus
yyyy Vuosi
q Neljännes
m Kuukausi
y Päivän vuosi
d Päivä
w Arkipäivä
ww Viikko
h Tunti
n Minuutti
s Toinen

Esimerkkejä Excel VBA DateAdd -funktiosta

Excelin DateAdd-toiminnon kaava-ilmaisut

On olemassa erilaisia tapoja laittaa päivämäärä argumentti osaksi DateAdd-toiminto. Ne kaikki johtavat samaan tulokseen.

Laita seuraavat tiedot koodi vuonna Visual Basic Editor:

(Koodin suorittaminen Visual Basic -editorissa)

 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("1.1.2022")) Range("D6") = DateAdd("yyyy", 2, Range("B6")) End Sub 

Selitys :

DateAdd("vvvv",2, jokin seuraavista menetelmistä)

Voimme käyttää eri menetelmiä päivämäärän asettamiseen:

  • #1/1/2011#
  • DateSerial( vuosi , kuukausi, päivä)
  • DateValue( päivämäärä )
  • Valikoima ("cell") - Soluun tallennettu päivämäärä
  • Päivämäärän tallentaminen muuttujaan

Soluissa D3, D4, D5, D6, D7 laitamme edellä mainitut menetelmät päivämäärä argumentti DateAdd funktio peräkkäin ja sain sama tulos.

Lisäsimme 2 lisää vuotta osoitteeseen 1/1/2022 joka johti 1/1/2024.

Tässä,

yyyy edustaa vuotta intervalli

2 edustaa intervallien lukumäärää seuraavasti numero .

Ohje: Koodin suorittaminen Visual Basic -editorissa

Seuraa ohjeita:

  • Vuodesta Excel-nauha , mene osoitteeseen Kehittäjä-välilehti ja valitse Visual Basic Välilehti.

  • Napsauta uudessa ikkunassa Lisää välilehti ja valitse Moduuli.

  • Kirjoita koodi editorissa ja paina F5 osoitteeseen juosta.

Erilaisten väliasetusten lisääminen käyttämällä DateAdd-toimintoa Excelissä

1. Lisää vuosi

Koodi:

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

Tulos: 2 vuotta lisätty 1/1/2022 (mm/dd/yyyyyy) ja tulokseksi saatiin 1/1/2024 (kk/vvvv/vvvv).

Lue lisää: Kuinka käyttää Excel VBA: n vuosi-toimintoa

2. Lisää neljännes

Koodi:

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

Tulos: 2 vuosineljännestä = 6 kuukautta lisätty 1/1/2022 (mm/dd/yyyyyy) ja tulokseksi saatiin 7/1/2022 (kk/vvvv/vvvv).

3. Lisää kuukausi

Koodi:

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

Tulos: 2 kuukautta lisätty 1/1/2022 (mm/dd/yyyyyy) ja tulokseksi saatiin 3/1/2022 (kk/vvvv/vvvv).

Lue lisää: Kuinka käyttää Excel VBA MONTH -funktiota

4. Lisää vuoden päivä

Koodi:

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

Tulos : 2 Vuoden päivä lisätty osoitteeseen 1/1/2022 (mm/dd/yyyyyy) ja tulokseksi saatiin 1/3/2022 (kk/vvvv/vvvv).

Lue lisää: Päivän funktion käyttäminen Excel VBA:ssa

5. Lisää päivä

Koodi:

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

Tulos : 2 päivää lisätty osoitteeseen 1/1/2022 (mm/dd/yyyyyy) ja tulokseksi saatiin 1/3/2022 (kk/vvvv/vvvv).

Samanlaisia lukemia

  • Excel VBA löytää viikon numero (6 nopeaa esimerkkiä)
  • VBA DatePart -funktion käyttäminen Excelissä (7 esimerkkiä)
  • Käytä VBA DateSerial -funktiota Excelissä (5 helppoa sovellusta)
  • Kuinka muuntaa päivämäärä merkkijonosta VBA:n avulla (7 tapaa)

6. Lisää arkipäivä

Koodi:

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

Tulos: 10 WeekDays lisätty osoitteeseen 1/1/2022 (mm/dd/yyyyyy) ja tulokseksi saatiin 1/11/2022 (kk/vvvv/vvvv).

7. Lisää viikko

Koodi:

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

Tulos: 2 viikkoa = 14 päivää lisätty osoitteeseen 1/1/2022 (mm/dd/yyyyyy) ja tulokseksi saatiin 1/15/2022 (kk/vvvv/vvvv).

Lue lisää: Viikonpäivän saaminen VBA:n avulla

8. Lisää tunti

Koodi:

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

Tulos: 14 tuntia lisää osoitteeseen 1/1/2022 12:00 AM (mm/dd/yyyyyy: hh/mm) ja tulokseksi saatiin 1/1/2022 2:00 PM (mm//dd/yyyy : hh/mm).

9. Lisää minuutti

Koodi:

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

Tulos: 90 minuuttia = 1,30 tuntia lisätty. osoitteeseen 1/1/2022 12:00 AM (mm/dd/yyyyyy) ja tulokseksi saatiin 1/1/2022 1:30 AM (kk/vvvv/vvvv).

10. Lisää toinen

Koodi:

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

Tulos: 120 sekuntia = 2 minuuttia lisää osoitteeseen 1/1/2022 12:00 AM (mm/dd/yyyyyy : hh/mm) ja tulokseksi saatiin 1/1/2022 12:02 AM (mm//dd/yyyy : hh/mm).

DateAdd-toiminnon käyttö Excelissä eri väliasetusten vähentämiseen

Vastaavasti voimme vähennä vuodet, kuukaudet, päivät, tunnit, minuutit jne. päivämääristä käyttämällä apuna miinusmerkki osoitteessa etupuolella of the numeroargumentti Esimerkiksi:

Koodi:

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

Tulos: 2 vuotta vähennettynä 1/1/2022 (mm/dd/yyyyyy) ja tulokseksi saatiin 1/1/2020 (kk/vvvv/vvvv).

Muistettavat asiat

  • Kun käytämme 'w' lisätä arkisin se lisää yhteenlaskua kaikki viikonpäivät mukaan lukien lauantai ja sunnuntai, ei vain työpäivät (kuten joku voisi olettaa).
  • DateAdd-funktio ei lopulta näytä arvoa virheellinen päivämäärä Jos esimerkiksi lisätään 1 kuukausi 31.1.2022, tuloksena on 28.2.2022, ei 31.2.2022 (sitä ei ole olemassa).
  • Jos vähennämme yli 122 vuotta tästä hetkestä... virhe tapahtuisi, koska Excel-päivämäärä alkaa osoitteesta 1. tammikuuta 1990.
  • DateAdd-funktion paluupäivä riippuu päivämäärästä Ohjauspaneeli Päivämäärän asetukset.
  • Meidän pitäisi DateAdd-funktion päivämääräargumentin mukaan olla Kalenteriominaisuus Jos kalenteri on Gregoriaaninen , syöttötiedot da väite olisi myös oltava Gregoriaaninen Vastaavasti jos kalenteri on Hijri, päivämääräargumentin on oltava samassa muodossa.

Päätelmä

Nyt tiedämme, miten VBA DateAdd -toimintoa käytetään Excelissä. Toivottavasti se rohkaisee sinua käyttämään tätä toimintoa varmemmin. Jos sinulla on kysyttävää tai ehdotuksia, älä unohda laittaa niitä alla olevaan kommenttikenttään.

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.