DateDiff-funktion i Excel VBA

VBA Datediff-funktion ger skillnaden mellan två specificerade intervaller. Här kan intervallet anges som timmar / månader / dagar … etc. som anges av användaren. Det är en inbyggd funktion i Excel och kategoriserad som funktionen “ Datum / tid ”. Den kan användas som en " VBA " -funktion i Excel.

Syntax :

Parameter eller argument som används i DateDiff-funktionen.

1. Intervall:

  • Det är obligatoriskt.
  • Typ: - Stringtyputtryck.
  • Det beräknar skillnaden mellan de två datumen.
Inställning (intervall) Beskrivning / Förklaring
”S” sekunder
”N” Minuter
”H” timmar
”D” dagar
”W” Veckodag
”M” månader
”Ww” Vecka
”Y” Årets dag
”Q” Fjärdedel
”Åååå” År

2. Datum1:

  • Det är obligatoriskt.
  • Typ: - Datum.
  • Det representerar startdatum / tid för beräkning av datediff.

3. Datum2:

  • Det är obligatoriskt.
  • Typ: - Datum.
  • Det representerar slutdatum / tid för beräkning av datediff.

4. Veckans första dag:

  • Det är valfritt.
  • Typ: - Numeric eller Text.
  • Den anger den dag som används som den första veckodagen.
  • Om detta argument eller parameter utelämnas antar det söndag (VbSunday) som veckans första dag.

5. Årets första vecka

  • Det är valfritt.
  • Typ: - Numeric eller Text.
  • Den anger dagen som används som årets första vecka.
  • Om detta argument eller parameter utelämnas antar den 1 januari (vbFirstJan1) som årets första vecka.

Hur aktiverar jag utvecklarens flik i Excel?

Utvecklingsfliken är obligatorisk i Excel-bandet för att starta och skriva VBA-makro. Nedan följer de olika stegen för att aktivera utvecklare-fliken i Excel VBA:

Steg 1: Gå till Arkiv- menyfliken.

Steg 2: Klicka på Alternativ på Arkiv-menyn som finns längst till listan tillgängliga under menyn.

Steg 3: Klicka på Anpassa band för att komma åt alternativet för anpassning av band.

Steg 4: Här i anpassningsalternativen kan du se utvecklaralternativet . Markera det så att det aktiveras på excel-huvudbandet och lätt kan nås. Klicka på OK när du har kontrollerat utvecklaralternativet.

Så snart du trycker på OK kan du se fliken Utvecklare aktiv i Excel-menyn med ett antal olika alternativ tillgängliga under. Se skärmdumpen nedan.

Hur använder jag DateDiff-funktionen i Excel VBA?

Nedan följer de olika stegen för att använda DateDiff-funktionen i Excel VBA:

Du kan ladda ner denna VBA DateDiff Excel-mall här - VBA DateDiff Excel-mall

Exempel 1

I detta exempel följer du stegen nedan för att använda DateDiff-funktion i VBA:

Steg 1: Skapa först ett makronamn.

Koda:

 Sub bb () Slut Sub 

Steg 2: Två variabler definieras som datum och tilldelas datum till dem.

Koda:

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

Steg 3: Skriv syntaxen för Datediff-funktionen med det nödvändiga argumentet och tilldela samma genom VBA-meddelanderutan.

Koda:

 Sub bb () 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 

Steg 4: Kör koden genom att trycka på F5-tangenten eller genom att klicka på Play-knappen. Så att resultatet visas i meddelanderutan.

Exempel 2

I exemplet nedan beräknar datifunktionen antalet år mellan de två datumen "09/06/2016" och "16/12/2020". Här beaktas inte valfria parametrar.

Koda:

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

För att köra programmet trycker du på fliken “ F8 ” eller “ Kör ”. Resultatet visas i meddelanderutan.

Exempel 3

I exemplet nedan beräknar datediff- funktionen antalet månader mellan de två datumen ”09/06/2016” och “16/12/2020”. Här beaktas inte valfria parametrar.

Koda:

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

För att köra programmet trycker du på fliken “ F8 ” eller “ Kör ”. Resultatet visas i meddelanderutan.

Exempel 4

I exemplet nedan beräknar datifunktionen antalet veckor mellan de två datumen ”09/06/2016” och “16/12/2020”. Här beaktas inte valfria parametrar.

Koda:

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

För att köra programmet trycker du på fliken “ F8 ” eller “ Kör ”. Resultatet visas i meddelanderutan.

Exempel 5

I exemplet nedan beräknar funktionen " datediff " antalet kvartal mellan de två datumen "09/06/2016" och "16/12/2020". Här beaktas inte valfria parametrar.

Koda:

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

För att köra programmet trycker du på fliken “ F8 ” eller “ Kör ”. Resultatet visas i meddelanderutan.

Exempel 6

I exemplet nedan beräknar funktionen " datediff " antalet dagar mellan de två datumen "09/06/2016" och "16/12/2020". Här beaktas inte valfria parametrar.

Koda:

 Sub AA4 () 'dagar skillnad MsgBox DateDiff ("d", "09/06/2016", "16/12/2020") Slut Sub 

För att köra programmet trycker du på fliken “ F8 ” eller “ Kör ”. Resultatet visas i meddelanderutan.

Exempel 7

I exemplet nedan beräknar funktionen ” datediff ” antalet timmar mellan de två datumen och tiden ”9:00 den 01/01/2010” och “11:00 den 19/04/2019”.

Koda:

 Sub bb1 () 'Beräkna antalet timmar mellan 1/1/2010 9:00 och 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 

För att köra programmet trycker du på fliken “ F8 ” eller “ Kör ”. Resultatet visas i meddelanderutan.

Exempel 8

I exemplet nedan beräknar funktionen " datediff " antalet sekunder mellan de två datumen och tiden "9:00 den 01/01/2010" och "11:00 den 19/04/2019".

Koda:

 Sub bb2 () 'Beräkna antalet sekunder mellan 1/1/2010 9:00 och 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 

För att köra programmet trycker du på fliken “ F8 ” eller “ Kör ”. Resultatet visas i meddelanderutan.

Exempel 9

I exemplet nedan beräknar funktionen ” datediff ” antalet minuter mellan de två datumen och tiden ”9:00 den 01/01/2010” och ”11:00 den 19/04/2019”.

Koda:

 Sub bb3 () 'Beräkna antalet minuter mellan 1/1/2010 9:00 och 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 

För att köra programmet trycker du på fliken “ F8 ” eller “ Kör ”. Resultatet visas i meddelanderutan.

Exempel 10

Om argumentet anges som "w" (veckor) returnerar funktionen "Datediff" antalet hela veckan mellan de två datumen. Delvis veckor ignoreras. I exemplet beräknar funktionen " DateDiff " antalet hela veckor mellan datum 01/01/2010 och 19/4/2019.

Koda:

 Sub bb4 () 'Beräkna antalet veckor mellan 1/1/2010 och 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 

För att köra programmet trycker du på fliken “ F8 ” eller “ Kör ”. Resultatet visas i meddelanderutan.

Exempel 11

Om argumentet anges som "ww" (kalenderveckor) ger funktionen "Datediff" antalet veckor mellan veckans början som innehåller Date1 och veckans början som innehåller Date2.

Koda:

 Sub bb5 () 'Beräkna antalet kalenderveckor mellan 1/1/2010 och 19/4/2019' Veckans första dag = Måndag Dim dt1 Som Datum Dim dt2 Som Datum dt1 = # 1/1 / 2010 # dt2 = # 4/19/2019 # MsgBox DateDiff ("ww", dt1, dt2, vbMonday) End Sub 

För att köra programmet trycker du på fliken “ F8 ” eller “ Kör ”. Resultatet visas i meddelanderutan.

Exempel 12

I exemplet nedan används "datediff" -funktionen för datum "1/1/1990" och "1/1/1998"

Koda:

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

För att köra programmet trycker du på fliken “ F8 ” eller “ Kör ”. Resultatet visas i meddelanderutan.

Klicka sedan på " Ok " för att få nästa resultat.

Slutsats

" DateDiff " -funktionen hjälper således till att bestämma hur många specificerade tidsintervall som finns mellan två specificerade datum och tider.

Rekommenderade artiklar

Detta är en guide till VBA DateDiff. Här diskuterar vi hur du använder DateDiff-funktionen i Excel VBA tillsammans med praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. VBA Declare Array (exempel)
  2. Komplett guide till VBA om fel
  3. Oskyddat arkmetod i VBA
  4. VBA-kolumner | Excel-mall
  5. VBA Environ

Kategori: