Innholdsfortegnelse
VBA DateAdd-funksjonen er under dato- og klokkeslettkategorien til Excels VBA-funksjoner . Ved å bruke denne funksjonen kan vi legge til eller trekke fra år, måneder, dager, kvartaler og til og med forskjellige tidsintervaller som timer, minutter, sekunder fra en gitt dato. Å håndtere dato og klokkeslett i daglige beregninger for å generere rapporter eller foreta sammenligninger er et vanlig scenario. I Excel gjør bruken av VBA dato- og klokkeslettfunksjoner som DateAdd-funksjonen komplekse eller tidkrevende beregninger mer effektive og raskere.
Last ned Practice Workbook
Last ned denne øvelsesarbeidsboken for å trene mens du leser denne artikkelen.
VBA DateAdd Function.xlsm
Introduksjon til Excel VBA DateAdd-funksjonen
Utfall:
en dato som et spesifikt tidsintervall legges til eller trekkes fra
Syntaks:
DateAdd (intervall, tall, dato)
Argumenter:
Argument | Obligatorisk/Valgfri | Beskrivelse |
---|---|---|
intervall | Obligatorisk | Et streng uttrykk. |
Tidsintervallet i forskjellige innstillinger som vi ønsker å legge til nummer Obligatorisk Et numerisk uttrykk .
Antallet av intervaller som skal legges til eller trekkes fra
Kan være positiv – for fremtidige datoer
Kan være negative – for fortid datoer dato Obligatorisk Et dato uttrykk
datoen som intervallene er tillagt
Innstillinger:
DateAdd-funksjonen har disse intervallene innstillinger:
Innstilling | Beskrivelse |
---|---|
åååå | År |
kv | Kvartal |
m | Måned |
y | År for dagen |
d | Dag |
w | Ukedag |
ww | Uke |
t | Time |
n | Minutt |
s | Second |
Eksempler på Excel VBA DateAdd-funksjonen
Formeluttrykk for Excel DateAdd-funksjonen
Det er forskjellige måter å sette datoen argument i DateAdd-funksjonen. De resulterer alle i samme utdata.
Sett inn følgende kode i Visual Basic Editor:
(Hvordan for å kjøre kode i Visual Basic Editor)
2375
Forklaring :
DateAdd(“åååå”,2, en av følgende metoder)
For å sette datoargumentet kan vi bruke forskjellige metoder:
- #1/1/2011 #
- DatoSerial( år , måned, dag)
- DatoVerdi( dato )
- Område (“celle”) – Dato lagret i en celle
- Lagre datoen i envariabel
I cellene D3, D4, D5, D6, D7 legger vi metodene ovenfor som dato argumentet for DateAdd -funksjonen sekvensielt og fikk samme resultat.
Vi la til 2 flere år til 1/1/2022 som resulterte i 1/1/2024.
Her representerer
åååå år som intervall
2 representerer nei av intervaller som nummer .
Hjelp: Hvordan kjøre kode i Visual Basic Editor
Følg trinnene:
- Fra Excel-båndet , gå til Utviklerfanen og velg Visual Basic -fanen.
- Fra det nye vinduet klikker du på Sett inn -fanen og velger Modul.
- Skriv koden i editoren og trykk F5 for å kjøre.
Legge til forskjellige intervallinnstillinger ved å bruke DateAdd-funksjonen i Excel
1. Legg til år
Kode:
6895
Resultat: 2 år lagt til 1/1 /2022 (mm/dd/åååå) og resulterte i 1/1/2024 (mm//dd/åååå).
Les mer: Slik bruker du årsfunksjonen i Excel VBA
2. Legg til kvartal
Kode:
9608
Resultat: 2 kvartal = 6 måneder lagt til 1/1/2022 (mm/dd/åååå) og resulterte i 7/1/2022 (mm//dd/åååå).
3. Legg til måned
Kode:
4523
Resultat: 2 måneder lagt til 1/1/2022 (mm/dd/åååå) og resulterte i 3/1/2022 (mm//dd/åååå).
Les mer: Slik bruker du Excel VBA MONTH-funksjonen
4. Legg til Day of Year
Kode:
2922
Resultat : 2 Day of Year lagt til til 1/1/2022 (mm/dd/åååå) og resulterte i 1/3/2022 (mm//dd/åååå).
Les mer: Slik bruker du dagfunksjonen i Excel VBA
5. Legg til dag
Kode:
2097
Resultat : 2 dager lagt til til 1/1 /2022 (mm/dd/åååå) og resulterte i 1/3/2022 (mm//dd/åååå).
Lignende avlesninger
- Excel VBA for å finne ukenummer (6 raske eksempler)
- Hvordan bruke VBA DatePart-funksjonen i Excel (7 eksempler)
- Bruk VBA DateSerial-funksjonen i Excel (5 enkle applikasjoner)
- Hvordan konvertere dato fra streng ved hjelp av VBA ( 7 måter)
6. Legg til ukedag
Kode:
5070
Resultat: 10 ukedager lagt til til 1/1 /2022 (mm/dd/åååå) og resulterte i 1/11/2022 (mm//dd/åååå).
7. Legg til uke
Kode:
3608
Resultat: 2 uker= 14 dager lagt til til 1/1/2022 (mm/dd/åååå) og resulterte i 15/1/2022 (mm//dd/åååå).
Les mer: Slik får du ukedagen ved å bruke VBA
8. Legg til time
Kode:
3531
Resultat: 14Timer lagt til til 1/1/2022 12:00 (mm/dd/åååå: tt/mm) og resulterte i 1/1/2022 14:00 (mm//dd/åååå : tt/mm).
9. Legg til minutt
Kode:
8840
Resultat : 90 minutter= 1,30 timer lagt til til 1/1/2022 12:00 (mm/dd/åååå) og resulterte i 1/1/2022 01:30 (mm//dd/åååå).
10. Legg til andre
Kode:
2173
Resultat: 120 sekunder = 2 minutter lagt til til 1/1/2022 12:00 AM (mm/dd/yyyy : hh/mm) og resulterte i 1/1/2022 12:02 AM (mm//dd/yyyy : hh /mm).
Bruk av DateAdd-funksjonen i Excel for å trekke fra forskjellige intervallinnstillinger
På samme måte kan vi trekk år, måneder, dager, timer, minutter osv. fra en dato ved å bruke et minustegn foran foran for tallargumentet . For eksempel:
Kode:
3703
Resultat: 2 år trukket fra 1/1/2022 (mm/ dd/åååå) og resulterte i 1/1/2020 (mm//dd/åååå).
Ting å huske
- Når vi bruker 'w' for å legge til ukedager samler det alle dagene i uken inkludert lørdag og søndag , ikke bare arbeidsdagene (noen kan forvente).
- DateAdd-funksjonen ender ikke opp med å vise en ugyldig dato . Hvis vi for eksempel legger til 1 måned til 31. januar 2022, vil det resultere 28. februar 2022, ikke 31. februar 2022 (det finnes ikke).
- Hvis vi trekker fra merenn 122 år fra nå vil en feil oppstå fordi Excel-datoen starter fra 1. januar 1990.
- Returdatoen for DateAdd funksjonen avhenger av kontrollpanelets datoinnstillinger.
- Vi bør datoargumentet til DateAdd-funksjonen i henhold til Kalenderegenskapen . Hvis kalenderen er gregoriansk , bør inndata da te-argumentet også være i gregoriansk . På samme måte, hvis kalenderen er i Hijri, må datoargumentet være i samme format.
Konklusjon
Nå vet vi hvordan vi bruker VBA DateAdd-funksjon i Excel. Forhåpentligvis vil det oppmuntre deg til å bruke denne funksjonaliteten mer selvsikkert. Eventuelle spørsmål eller forslag, ikke glem å sette dem i kommentarfeltet nedenfor