DateDiff-funktion i Excel VBA

VBA Datediff-funktion giver forskellen mellem to specificerede intervaller. Her kan intervallet specificeres som timer / måneder / dage … osv. Som specificeret af brugeren. Det er en indbygget funktion i Excel og kategoriseret som funktionen “ Dato / tid ”. Den kan bruges som en " VBA " -funktion i Excel.

Syntaks :

Parameter eller argumenter brugt i DateDiff-funktionen.

1. Interval:

  • Det er obligatorisk.
  • Type: - Stringtypeudtryk.
  • Den beregner forskellen mellem de to datoer.
Indstilling (interval) Beskrivelse / Forklaring
”S” Sekunder
”N” minutter
”H” timer
”D” Dage
”W” Ugedag
”M” måneder
”Ww” Uge
”Y” Årets dag
”Q” Kvarter
”Yyyy” År

2. Dato1:

  • Det er obligatorisk.
  • Type: - Dato.
  • Det repræsenterer startdato / tidspunkt for beregning af datediff.

3. Dato2:

  • Det er obligatorisk.
  • Type: - Dato.
  • Det repræsenterer slutdato / tidspunkt for beregning af datediff.

4. Ugens første dag:

  • Det er valgfrit.
  • Type: - Numerisk eller tekst.
  • Den specificerer den dag, der bruges som den første ugedag.
  • Hvis dette argument eller parameter udelades, antager det søndag (VbSunday) som den første ugedag.

5. Årets første uge

  • Det er valgfrit.
  • Type: - Numerisk eller tekst.
  • Den specificerer den dag, der bruges som årets første uge.
  • Hvis dette argument eller parameter udelades, antager den 1. januar (vbFirstJan1) som årets første uge.

Sådan aktiveres fanebladet Udvikler i Excel?

Udvikler-fanen er obligatorisk på Excel-båndet for at starte og skrive VBA-makro. Nedenfor er de forskellige trin for at aktivere udviklere fanen i Excel VBA:

Trin 1: Gå til fanen Fil- menu.

Trin 2: I menuen Filer skal du klikke på Indstillinger placeret i den sidste af listen tilgængelige indstillinger under menuen.

Trin 3: Klik på Tilpas bånd for at få adgang til indstillingerne for båndtilpasning.

Trin 4: Her i tilpasningsmulighederne kan du se muligheden Udvikler . Marker det, så det aktiveres på excel hovedbånd og let kan fås adgang til det. Klik på OK, når du har kontrolleret udviklerindstillingen.

Så snart du rammer OK, kan du se fanen Udvikler aktiv i Excel-båndmenuen med en masse forskellige indstillinger tilgængelige under. Se skærmbilledet nedenfor.

Sådan bruges DateDiff-funktionen i Excel VBA?

Nedenfor er de forskellige trin til brug af DateDiff-funktionen i Excel VBA:

Du kan downloade denne VBA DateDiff Excel-skabelon her - VBA DateDiff Excel-skabelon

Eksempel 1

I dette eksempel skal du følge nedenstående trin for at bruge DateDiff-funktion i VBA:

Trin 1: Opret først et makronavn.

Kode:

 Sub bb () End Sub 

Trin 2: To variabler er defineret som dato og tildelt dato til dem.

Kode:

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

Trin 3: Skriv syntaks for Datediff-funktionen under det krævede argument, og tildel det samme via VBA-meddelelsesfeltet.

Kode:

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

Trin 4: Kør koden ved at trykke på F5-tasten eller ved at klikke på knappen Afspil. Så resultatet vises i meddelelsesfeltet.

Eksempel 2

I nedenstående eksempel beregner datediff-funktionen antallet af år mellem de to datoer “09/06/2016” og “16/12/2020”. Her tages der ikke hensyn til valgfri parametre.

Kode:

 Sub AA () 'Årsforskel MsgBox DateDiff ("åååå", "09/06/2016", "16/12/2020") End Sub 

For at køre programmet skal du trykke på fanen “ F8 ” eller “ Kør ”. Resultatet vises i meddelelsesfeltet.

Eksempel 3

I nedenstående eksempel beregner datediff- funktionen antallet af måneder mellem de to datoer ”09/06/2016” og “16/12/2020”. Her tages der ikke hensyn til valgfri parametre.

Kode:

 Sub AA1 () 'månedsforskel MsgBox DateDiff ("m", "09/06/2016", "16/12/2020") End Sub 

For at køre programmet skal du trykke på fanen “ F8 ” eller “ Kør ”. Resultatet vises i meddelelsesfeltet.

Eksempel 4

I nedenstående eksempel beregner datediff-funktionen antallet af uger mellem de to datoer ”09/06/2016” og “16/12/2020”. Her tages der ikke hensyn til valgfri parametre.

Kode:

 Sub AA2 () 'uger forskel MsgBox DateDiff ("ww", "09/06/2016", "16/12/2020") End Sub 

For at køre programmet skal du trykke på fanen “ F8 ” eller “ Kør ”. Resultatet vises i meddelelsesfeltet.

Eksempel 5

I nedenstående eksempel beregner funktionen " datediff " antallet af kvartaler mellem de to datoer ”09/06/2016” og “16/12/2020”. Her tages der ikke hensyn til valgfri parametre.

Kode:

 Sub AA3 () 'kvartalsforskel MsgBox DateDiff ("q", "09/06/2016", "16/12/2020") End Sub 

For at køre programmet skal du trykke på fanen “ F8 ” eller “ Kør ”. Resultatet vises i meddelelsesfeltet.

Eksempel 6

I nedenstående eksempel beregner funktionen " datediff " antallet af dage mellem de to datoer ”09/06/2016” og “16/12/2020”. Her tages der ikke hensyn til valgfri parametre.

Kode:

 Sub AA4 () 'dage forskel MsgBox DateDiff ("d", "09/06/2016", "16/12/2020") End Sub 

For at køre programmet skal du trykke på fanen “ F8 ” eller “ Kør ”. Resultatet vises i meddelelsesfeltet.

Eksempel 7

I nedenstående eksempel beregner funktionen " datediff " antallet af timer mellem de to datoer og klokkeslæt ”9:00 den 01/01/2010” og “11:00 den 19/04/2019”.

Kode:

 Sub bb1 () 'Beregn antallet af timer mellem 1/1/2010 9:00 og 19/4/2019 11:00 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 AM # MsgBox DateDiff ("h", dt1, dt2) End Sub 

For at køre programmet skal du trykke på fanen “ F8 ” eller “ Kør ”. Resultatet vises i meddelelsesfeltet.

Eksempel 8

I nedenstående eksempel beregner funktionen " datediff " antallet af sekunder mellem de to datoer og klokkeslæt ”9:00 den 01/01/2010” og “11:00 den 19/04/2019”.

Kode:

 Sub bb2 () 'Beregn antallet af sekunder mellem 1/1/2010 9:00 og 19/4/2019 11:00 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 AM # MsgBox DateDiff ("s", dt1, dt2) End Sub 

For at køre programmet skal du trykke på fanen “ F8 ” eller “ Kør ”. Resultatet vises i meddelelsesfeltet.

Eksempel 9

I nedenstående eksempel beregner funktionen " datediff " antallet af minutter mellem de to datoer og klokkeslæt ”9:00 den 01/01/2010” og “11:00 den 19/04/2019”.

Kode:

 Sub bb3 () 'Beregn antallet af minutter mellem 1/1/2010 9:00 og 19/4/2019 11:00 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 AM # MsgBox DateDiff ("n", dt1, dt2) End Sub 

For at køre programmet skal du trykke på fanen “ F8 ” eller “ Kør ”. Resultatet vises i meddelelsesfeltet.

Eksempel 10

Hvis argumentet er specificeret som "w" (uger), returnerer funktionen "Datediff" antallet af hele ugen mellem de to datoer. Delvise uger ignoreres. I eksemplet beregner funktionen " DateDiff " antallet af hele uger mellem datoerne 01/01/2010 og 19/4/2019.

Kode:

 Sub bb4 () 'Beregn antallet af uger mellem 1/1/2010 og 19/4/2010 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 # dt2 = # 4/19/2010 # MsgBox DateDiff ("w", dt1, dt2) End Sub 

For at køre programmet skal du trykke på fanen “ F8 ” eller “ Kør ”. Resultatet vises i meddelelsesfeltet.

Eksempel 11

Hvis argumentet er specificeret som "ww" (kalenderuger), giver funktionen "Datediff" antallet af uger mellem ugens start, der indeholder Date1 og starten af ​​ugen, der indeholder Date2.

Kode:

 Sub bb5 () 'Beregn antallet af kalenderuger mellem 1/1/2010 og 19/4/2019' Første ugedag = Mandag Dim dt1 Som Dato Dim dt2 Som Dato dt1 = # 1/1/2010 # dt2 = # 4/19/2019 # MsgBox DateDiff ("ww", dt1, dt2, vbMonday) End Sub 

For at køre programmet skal du trykke på fanen “ F8 ” eller “ Kør ”. Resultatet vises i meddelelsesfeltet.

Eksempel 12

I nedenstående eksempel bruges funktionen "datediff" til datoer "1/1/1990" og "1/1/1998"

Kode:

 Subcc () Dim dt1 Som dato Dim dt2 Som dato dt1 = # 1/1/1990 9:00:00 AM # dt2 = # 1/11/1998 11:00:00 AM # MsgBox ("linje 1:" & DateDiff ("h", dt1, dt2)) MsgBox ("linje 2:" & DateDiff ("s", dt1, dt2)) MsgBox ("line 3:" & DateDiff ("n", dt1, dt2)) MsgBox ("linje 4:" & DateDiff ("d", dt1, dt2)) MsgBox ("linje 5:" & DateDiff ("m", dt1, dt2)) MsgBox ("linje 6:" & DateDiff ("q", dt1, dt2)) MsgBox ("linje 7:" & DateDiff ("w", dt1, dt2)) MsgBox ("linje 8:" & DateDiff ("ww", dt1, dt2)) MsgBox ("linje 9: "& DateDiff (" y ", dt1, dt2)) MsgBox (" linje 10: "& DateDiff (" yyyy ", dt1, dt2)) End Sub 

For at køre programmet skal du trykke på fanen “ F8 ” eller “ Kør ”. Resultatet vises i meddelelsesfeltet.

Klik derefter på “ Ok ” for at få det næste resultat.

Konklusion

DateDiff ” -funktionen hjælper således med at bestemme, hvor mange specificerede tidsintervaller der findes mellem to specificerede datoer og tidspunkter.

Anbefalede artikler

Dette er en guide til VBA DateDiff. Her diskuterer vi, hvordan man bruger DateDiff-funktion i Excel VBA sammen med praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. VBA erklærer array (eksempler)
  2. Komplet guide til VBA om fejl
  3. Ubeskyttelsesarkmetode i VBA
  4. VBA-søjler | Excel-skabelon
  5. VBA-miljø

Kategori: