Cuprins
The Funcția VBA DateAdd se află în categoria dată și oră din Excel. Funcții VBA Folosind această funcție putem adăuga sau scădea ani, luni, zile, trimestre și chiar diferite intervale de timp, cum ar fi ore, minute, secunde, de la o dată dată. Tratarea datei și a orei în calculele zilnice pentru generarea de rapoarte sau efectuarea de comparații este un scenariu comun. În Excel, utilizarea funcțiilor VBA de dată și oră, cum ar fi funcția DateAdd, face calculele complexe sau care necesită mult timp.mai eficiente și mai rapide.
Descărcați caietul de practică
Descărcați acest caiet de exerciții pentru a vă antrena în timp ce citiți acest articol.
Funcția VBA DateAdd.xlsmIntroducere în funcția Excel VBA DateAdd
Rezultat:
o dată la care se adaugă sau se scade un anumit interval de timp
Sintaxă:
DateAdd (interval, număr, dată)
Argumente:
Argument | Necesar/Opțional | Descriere |
---|---|---|
interval | Necesar | A șir de caractere expresie. |
Intervalul de timp în diferite setări pe care dorim să îl adăugăm număr Necesar A numeric expresie .
The număr de intervale se adaugă sau se scade
Poate fi pozitiv - pentru viitor date
Poate fi negativ - pentru trecut date data Necesar A data expresie
The data la care intervale sunt adăugat
Setări:
The Funcția DateAdd are aceste setările intervalului:
Setarea | Descriere |
---|---|
yyyy | Anul |
q | Trimestrul |
m | Luna |
y | Anul zilei |
d | Ziua |
w | În timpul săptămânii |
ww | Săptămâna |
h | Ora |
n | Minute |
s | Al doilea |
Exemple ale funcției Excel VBA DateAdd
Expresii de formulă ale funcției Excel DateAdd
Există diferite moduri de a pune data argument în Funcția DateAdd. Toate acestea au același rezultat.
Puneți următoarele cod în Editor Visual Basic:
(Cum se execută codul în editorul Visual Basic)
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
Explicație :
DateAdd("yyyy",2, una dintre următoarele metode)
Pentru a introduce argumentul data putem folosi diferite metode:
- #1/1/2011#
- DateSerial( an , lună, zi)
- DateValue( data )
- Gama ("cell") - Data stocată într-o celulă
- Stocarea datei într-o variabilă
În celule D3, D4, D5, D6, D7 am pus metodele de mai sus ca fiind data argument al DateAdd în mod secvențial și a obținut rezultatul același rezultat.
Am adăugat 2 mai mult ani la 1/1/2022 ceea ce a dus la 1/1/2024.
Aici,
yyyy reprezintă anul ca interval
2 reprezintă numărul de intervale ca număr .
Ajutor: Cum se execută codul în editorul Visual Basic
Urmați pașii:
- De la Panglica Excel , mergeți la Fila Dezvoltator și selectați Visual Basic Tab.
- Din noua fereastră, faceți clic pe butonul Introduceți și alegeți Modul.
- Scrieți-vă cod în editor și apăsați F5 la a alerga.
Adăugarea diferitelor setări de intervale utilizând funcția DateAdd în Excel
1. Adăugați anul
Cod:
Sub DateAdd_Years() Range("F5") = DateAdd("yyyy", 2, Range("D5"))) End Sub
Rezultat: 2 ani adăugat la 1/1/2022 (mm/dd/aaaa) și a rezultat în 1/1/2024 (mm/zi/aaaa).
Citește mai mult: Cum se utilizează funcția Year în Excel VBA
2. Adăugați un sfert
Cod:
Sub DateAdd_Quarters() Range ("F5") = DateAdd("q", 2, Range("D5")) End Sub
Rezultat: 2 trimestre = 6 luni adăugat la 1/1/2022 (mm/dd/aaaa) și a rezultat în 7/1/2022 (mm/zi/aaaa).
3. Adăugați luna
Cod:
Sub DateAdd_Months() Range("F5") = DateAdd("m", 2, Range("D5"))) End Sub
Rezultat: 2 luni adăugat la 1/1/2022 (mm/dd/aaaa) și a rezultat în 3/1/2022 (mm/zi/aaaa).
Citește mai mult: Cum se utilizează funcția Excel VBA MONTH
4. Adăugați ziua anului
Cod:
Sub DateAdd_DayOfYear() Range("F5") = DateAdd("y", 2, Range("D5"))) End Sub
Rezultat : 2 zile ale anului adăugate la 1/1/2022 (mm/dd/aaaa) și a rezultat în 1/3/2022 (mm/zi/aaaa).
Citește mai mult: Cum se utilizează funcția Day în Excel VBA
5. Adăugați o zi
Cod:
Sub DateAdd_Day() Range("F5") = DateAdd("d", 2, Range("D5"))) End Sub
Rezultat : 2 zile adăugate la 1/1/2022 (mm/dd/aaaa) și a rezultat în 1/3/2022 (mm/zi/aaaa).
Lecturi similare
- Excel VBA pentru a găsi numărul săptămânii (6 exemple rapide)
- Cum se utilizează funcția VBA DatePart în Excel (7 exemple)
- Utilizați funcția VBA DateSerial în Excel (5 aplicații simple)
- Cum se convertește data din șir de caractere utilizând VBA (7 moduri)
6. Adăugați Ziua săptămânii
Cod:
Sub DateAdd_WeekDay() Range("F5") = DateAdd("w", 10, Range("D5"))) End Sub
Rezultat: 10 WeekDays adăugate la 1/1/2022 (mm/dd/aaaa) și a rezultat în 1/11/2022 (mm/zi/aaaa).
7. Adăugați săptămâna
Cod:
Sub DateAdd_Weeks() Range("F5") = DateAdd("ww", 2, Range("D5"))) End Sub
Rezultat: 2 săptămâni = 14 zile adăugate la 1/1/2022 (mm/dd/aaaa) și a rezultat în 1/15/2022 (mm/zi/aaaa).
Citește mai mult: Cum se obține ziua săptămânii utilizând VBA
8. Adăugați oră
Cod:
Sub DateAdd_Hours() Range("F5") = DateAdd("h", 14, Range("D5"))) End Sub
Rezultat: 14 ore adăugate la 1/1/2022 12:00 AM (mm/zi/aaaa: hh/mm) și a rezultat în 1/1/2022 2:00 PM (mm/zi/aaaa : hh/mm).
9. Adăugați un minut
Cod:
Sub DateAdd_Minutes() Range("F5") = DateAdd("n", 90, Range("D5")) End Sub
Rezultat : 90 de minute= 1,30 ore adăugate la 1/1/2022 12:00 AM (mm/dd/aaaa) și a rezultat în 1/1/2022 1:30 AM (mm/zi/aaaa).
10. Adăugați al doilea
Cod:
Sub DateAdd_Secunde() Range("F5") = DateAdd("s", 120, Range("D5")) End Sub
Rezultat: 120 de secunde = 2 minute adăugate la 1/1/2022 12:00 AM (mm/dd/aaaa : hh/mm) și a rezultat în 1/1/2022 12:02 AM (mm/zi/aaaa : hh/mm).
Utilizarea funcției DateAdd în Excel pentru a scădea diferite setări de interval
În mod similar, putem se sustrage ani, luni, zile, ore, minute, etc. dintr-o dată, utilizând un semnul minus în față a argument numeric De exemplu:
Cod:
Sub DateAdd_Subtract_Years() Range("F5") = DateAdd("y", -2, Range("D5"))) End Sub
Rezultat: 2 ani scăzut din 1/1/2022 (mm/dd/aaaa) și a rezultat în 1/1/2020 (mm/zi/aaaa).
Lucruri de reținut
- Când folosim 'w' pentru a adăuga în timpul săptămânii se adună toate zilele unei săptămâni inclusiv sâmbăta și duminica, nu doar zilele lucrătoare (cineva s-ar putea aștepta).
- Funcția DateAdd nu sfârșește prin a afișa un dată invalidă De exemplu, dacă adăugăm o lună la 31 ianuarie 2022, rezultatul va fi 28 februarie 2022, nu 31 februarie 2022 (care nu există).
- Dacă scădem mai mult de 122 de ani de acum încolo un eroare ar apărea deoarece data Excel începe de la 1 ianuarie 1990.
- Data de întoarcere a funcției DateAdd depinde de Panou de control Setări dată.
- Ar trebui să modificăm argumentul dată al funcției DateAdd în funcție de Proprietatea Calendar . în cazul în care calandrul este Gregorian , intrarea da te argument ar trebui să fie, de asemenea, în Gregorian În mod similar, dacă calendarul este în Hijri, argumentul data trebuie să aibă același format.
Concluzie
Acum, știm cum să folosim funcția VBA DateAdd în Excel. Sperăm că vă va încuraja să folosiți această funcționalitate cu mai multă încredere. Orice întrebări sau sugestii nu uitați să le puneți în caseta de comentarii de mai jos