DateDiff Funcție în Excel VBA

Funcția VBA Datediff oferă diferența între două intervale specificate. Aici, intervalul poate fi specificat ca ore / luni / zile … etc. după cum este specificat de utilizator. Este o funcție încorporată în Excel și clasificată ca funcție „ Data / ora ”. Poate fi folosit ca funcție „ VBA ” în Excel.

Sintaxa :

Parametru sau Argumente utilizate în funcția DateDiff.

1. Interval:

  • Este obligatoriu.
  • Tip: - Expresie tip șir.
  • Calculează diferența dintre cele două date.
Setare (interval) Descriere / Explicație
„S“ secunde
„N“ Minute
„H“ ore
„D“ zi
„W“ zi de lucru
„M“ Luni
„Ww“ Săptămână
„Y“ Ziua anului
„Q“ Sfert
„Aaaa“ An

2. Data1:

  • Este obligatoriu.
  • Tip: - Data.
  • Reprezintă data / ora de început pentru calculul dateiff.

3. Data2:

  • Este obligatoriu.
  • Tip: - Data.
  • Reprezintă data / ora de încheiere pentru calculul dateiff.

4. Prima zi a săptămânii:

  • Este opțional.
  • Tip: - Numeric sau Text.
  • Acesta specifică ziua care este utilizată ca prima zi a săptămânii.
  • Dacă acest argument sau parametru este omis, presupune duminică (VbSunday) ca prima zi a săptămânii.

5. Prima săptămână a anului

  • Este opțional.
  • Tip: - Numeric sau Text.
  • Acesta specifică ziua care este utilizată ca prima săptămână a anului.
  • Dacă acest argument sau parametru este omis, presupune 1 ianuarie (vbFirstJan1) ca prima săptămână a anului.

Cum să activați fila pentru dezvoltatori în Excel?

Fila dezvoltatorului este obligatorie pe panglica Excel pentru a porni și scrie macro VBA. Mai jos sunt diferiți pași pentru a activa dezvoltatorii fila Excel VBA:

Pasul 1: Accesați fila meniu Fișier .

Pasul 2: în meniul Fișier, faceți clic pe Opțiuni situate la ultima dintre opțiunile disponibile din listă din meniu.

Pasul 3: Faceți clic pe Personalizare panglică pentru a accesa opțiunile de personalizare a panglicii.

Pasul 4: Aici, în opțiunile de personalizare, puteți vedea opțiunea Dezvoltator . Bifează-l, astfel încât să fie activat pe panglica principală a excel și să poată fi accesat cu ușurință. Faceți clic pe OK după ce verificați opțiunea Dezvoltator.

De îndată ce apăsați OK, puteți vedea fila Dezvoltator activă în meniul Panglica Excel cu o mulțime de opțiuni disponibile în secțiunea de mai jos. Vezi imaginea de mai jos.

Cum se utilizează funcția DateDiff în Excel VBA?

Mai jos sunt diferiți pași pentru utilizarea funcției DateDiff în Excel VBA:

Puteți descărca acest șablon VBA DateDiff Excel aici - șablonul VBA DateDiff Excel

Exemplul # 1

În acest exemplu, urmați pașii de mai jos pentru a utiliza funcția DateDiff în VBA:

Pasul 1: Creează mai întâi un nume macro.

Cod:

 Sub bb () End Sub 

Pasul 2: Două variabile sunt definite ca dată și date atribuite.

Cod:

 Sub bb () Dim dt1 Ca dată Dim dt2 Ca dată dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 # End Sub 

Pasul 3: Scrieți sintaxa funcției Datediff luând argumentul necesar și atribuiți același lucru prin caseta de mesaje VBA.

Cod:

 Sub bb () Dim dt1 Ca dată Dim dt2 Ca dată dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 # MsgBox DateDiff ("h", dt1, dt2) End Sub 

Pasul 4: Rulați codul apăsând tasta F5 sau făcând clic pe butonul Redare. Astfel, rezultatul va fi afișat în caseta de mesaje.

Exemplul # 2

În exemplul de mai jos, funcția dateiff calculează numărul de ani între cele două date „09/06/2016” și „16/12/2020”. Aici, parametrii opționali nu sunt luați în considerare.

Cod:

 Sub AA () 'Diferența de an MsgBox DateDiff ("aaaa", "09/06/2016", "16/12/2020") End Sub 

Pentru a rula programul, apăsați fila „ F8 ” sau „ Run ”. Rezultatul va fi afișat în caseta de mesaje.

Exemplul # 3

În exemplul de mai jos, funcția dateiff calculează numărul de luni între cele două date ”09/06/2016” și “16/12/2020”. Aici, parametrii opționali nu sunt luați în considerare.

Cod:

 Sub AA1 () 'lună diferență MsgBox DateDiff ("m", "09/06/2016", "16/12/2020") End Sub 

Pentru a rula programul, apăsați fila „ F8 ” sau „ Run ”. Rezultatul va fi afișat în caseta de mesaje.

Exemplul # 4

În exemplul de mai jos, funcția dateiff calculează numărul de săptămâni între cele două date ”09/06/2016” și “16/12/2020”. Aici, parametrii opționali nu sunt luați în considerare.

Cod:

 Sub AA2 () 'săptămână diferență MsgBox DateDiff ("ww", "09/06/2016", "16/12/2020") End Sub 

Pentru a rula programul, apăsați fila „ F8 ” sau „ Run ”. Rezultatul va fi afișat în caseta de mesaje.

Exemplul # 5

În exemplul de mai jos, funcția „ datiff ” calculează numărul de sferturi între cele două date ”09/06/2016” și “16/12/2020”. Aici, parametrii opționali nu sunt luați în considerare.

Cod:

 Sub AA3 () 'trimestru diferență MsgBox DateDiff ("q", "09/06/2016", "16/12/2020") End Sub 

Pentru a rula programul, apăsați fila „ F8 ” sau „ Run ”. Rezultatul va fi afișat în caseta de mesaje.

Exemplul # 6

În exemplul de mai jos, funcția „ dateiff ” calculează numărul de zile dintre cele două date ”09/06/2016” și “16/12/2020”. Aici, parametrii opționali nu sunt luați în considerare.

Cod:

 Sub AA4 () 'zile diferență MsgBox DateDiff ("d", "09/06/2016", "16/12/2020") End Sub 

Pentru a rula programul, apăsați fila „ F8 ” sau „ Run ”. Rezultatul va fi afișat în caseta de mesaje.

Exemplul # 7

În exemplul de mai jos, funcția „ dateiff ” calculează numărul de ore între cele două date și ora ”9:00 la 01/01/2010 ” și „11:00 la 19/04/2019”.

Cod:

 Sub bb1 () 'Calculați numărul de ore între 1/1/2010 9:00 și 19/4/2019 11:00 Dim dt1 Ca dată Dim dt2 Ca dată dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 AM # MsgBox DateDiff ("h", dt1, dt2) End Sub 

Pentru a rula programul, apăsați fila „ F8 ” sau „ Run ”. Rezultatul va fi afișat în caseta de mesaje.

Exemplul # 8

În exemplul de mai jos, funcția „ dateiff ” calculează numărul de secunde între cele două date și ora ”9:00 la 01/01/2010 ” și „11:00 la 19/04/2019”.

Cod:

 Sub bb2 () 'Calculați numărul de secunde între 1/1/2010 9:00 și 19/4/2019 11:00 Dim dt1 Ca dată Dim dt2 Ca dată dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 # MsgBox DateDiff ("s", dt1, dt2) End Sub 

Pentru a rula programul, apăsați fila „ F8 ” sau „ Run ”. Rezultatul va fi afișat în caseta de mesaje.

Exemplul # 9

În exemplul de mai jos, funcția „ dateiff ” calculează numărul de minute între cele două date și ora ”9:00 la 01/01/2010 ” și „11:00 la 19/04/2019”.

Cod:

 Sub bb3 () 'Calculați numărul de minute între 1/1/2010 9:00 și 19/4/2019 11:00 Dim dt1 Ca dată Dim dt2 Ca dată dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 # MsgBox DateDiff ("n", dt1, dt2) End Sub 

Pentru a rula programul, apăsați fila „ F8 ” sau „ Run ”. Rezultatul va fi afișat în caseta de mesaje.

Exemplul # 10

Dacă argumentul este specificat ca „w” (săptămâni), funcția „Datediff” returnează numărul săptămânii întregi între cele două date. Săptămânile parțiale sunt ignorate. În exemplu, funcția „ DateDiff ” calculează numărul de săptămâni întregi între datele 01/01/2010 și 19/4/2019.

Cod:

 Sub bb4 () 'Calculați numărul de săptămâni între 1/1/2010 și 19/4/2010 Dim dt1 Ca dată Dim dt2 Ca dată dt1 = # 1/1/2010 # dt2 = # 4/19/2010 # MsgBox DateDiff ("w", dt1, dt2) End Sub 

Pentru a rula programul, apăsați fila „ F8 ” sau „ Run ”. Rezultatul va fi afișat în caseta de mesaje.

Exemplul # 11

Dacă argumentul este specificat ca „ww” (săptămâni calendaristice), funcția „Datediff” furnizează numărul de săptămâni între începutul săptămânii care conține Date1 și începutul săptămânii care conține Date2.

Cod:

 Sub bb5 () 'Calculați numărul săptămânilor calendaristice între 1/1/2010 și 19/4/2019' Prima zi a săptămânii = Luni Dim dt1 Ca dată Dim dt2 Ca dată dt1 = # 1/1/2010 # dt2 = # 4/19/2019 # MsgBox DateDiff ("ww", dt1, dt2, vbMonday) Sub End 

Pentru a rula programul, apăsați fila „ F8 ” sau „ Run ”. Rezultatul va fi afișat în caseta de mesaje.

Exemplul # 12

În exemplul de mai jos, funcția „dateiff” este utilizată pentru datele ”1/1/1990” și “1/1/1998”

Cod:

 Sub cc () Dim dt1 Ca dată Dim dt2 Ca dată dt1 = # 1/1/1990 9:00:00 AM # dt2 = # 1/11/1998 11:00:00 # MsgBox ("linia 1:" & DateDiff ("h", dt1, dt2) MsgBox ("linia 2:" & DateDiff ("s", dt1, dt2)) MsgBox ("linia 3:" și DateDiff ("n", dt1, dt2)) MsgBox ("linia 4:" și DateDiff ("d", dt1, dt2)) MsgBox ("linia 5:" și DateDiff ("m", dt1, dt2)) MsgBox ("linia 6:" și DateDiff ("q", dt1, dt2)) MsgBox ("linia 7:" și DateDiff ("w", dt1, dt2)) MsgBox ("linia 8:" și DateDiff ("ww", dt1, dt2)) MsgBox ("linia 9: "& DateDiff (" y ", dt1, dt2)) MsgBox (" linia 10: "și DateDiff (" aaaa ", dt1, dt2)) 

Pentru a rula programul, apăsați fila „ F8 ” sau „ Run ”. Rezultatul va fi afișat în caseta de mesaje.

Apoi, faceți clic pe „ Ok ” pentru a obține următorul rezultat.

Concluzie

FuncțiaDateDiff ” ajută astfel la determinarea câtor intervale de timp specificate există între două date și ore specificate.

Articole recomandate

Acesta este un ghid pentru VBA DateDiff. Aici vom discuta despre cum să utilizăm funcția DateDiff în Excel VBA împreună cu exemple practice și șablon Excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. VBA Declare Array (Exemple)
  2. Ghid complet la VBA la eroare
  3. Metoda neprotejată a foii în VBA
  4. Coloane VBA | Șablon Excel
  5. VBA Environ

Categorie: