Sisällysluettelo
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.xlsmJohdanto 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.