Cum se utilizează funcția VBA DateAdd în Excel

  • Imparte Asta
Hugh West

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.xlsm

Introducere î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

Hugh West este un trainer și analist Excel cu o experiență de peste 10 ani în industrie. Deține o diplomă de licență în contabilitate și finanțe și un master în administrarea afacerilor. Hugh are o pasiune pentru predare și a dezvoltat o abordare unică de predare care este ușor de urmărit și de înțeles. Cunoștințele sale experte despre Excel au ajutat mii de studenți și profesioniști din întreaga lume să-și îmbunătățească abilitățile și să exceleze în cariera lor. Prin blogul său, Hugh își împărtășește cunoștințele lumii, oferind tutoriale gratuite Excel și instruire online pentru a ajuta persoanele și companiile să-și atingă întregul potențial.