DateDiff-funksjon i Excel VBA

VBA Datediff-funksjon gir forskjellen mellom to spesifiserte intervaller. Her kan intervallet spesifiseres som timer / måneder / dager … etc. som spesifisert av brukeren. Det er en innebygd funksjon i Excel og kategorisert som “ Dato / tid ” -funksjonen. Den kan brukes som en " VBA " -funksjon i Excel.

Syntaks :

Parameter eller argumenter brukt i DateDiff-funksjonen.

1. Intervall:

  • Det er obligatorisk.
  • Type: - Stringtypeuttrykk.
  • Den beregner forskjellen mellom de to datoene.
Innstilling (intervall) Beskrivelse / Forklaring
“S” sekunder
“N” Minutter
“H” timer
“D” Dager
“W” Weekday
“M” Måneder
“Ww” Uke
“Y” Årets dag
“Q” Fjerdedel
“Åååå” År

2. Dato1:

  • Det er obligatorisk.
  • Type: - Dato.
  • Det representerer startdato / tid for beregning av datediff.

3. Dato2:

  • Det er obligatorisk.
  • Type: - Dato.
  • Det representerer sluttdato / tid for beregning av datediff.

4. Ukens første dag:

  • Det er valgfritt.
  • Type: - Numerisk eller tekst.
  • Den spesifiserer dagen som skal brukes som den første dagen i uken.
  • Hvis dette argumentet eller parameteren er utelatt, forutsetter det søndag (VbSunday) som den første dagen i uken.

5. Årets første uke

  • Det er valgfritt.
  • Type: - Numerisk eller tekst.
  • Den spesifiserer dagen som skal brukes som årets første uke.
  • Hvis dette argumentet eller parameteren er utelatt, forutsetter den 1. januar (vbFirstJan1) som årets første uke.

Hvordan aktivere utvikler-fanen i Excel?

Utviklerfanen er obligatorisk på Excel-båndet for å starte og skrive VBA-makro. Nedenfor er de forskjellige trinnene for å aktivere utviklere-fanen i Excel VBA:

Trinn 1: Gå til Fil- menyfanen.

Trinn 2: I Fil-menyen, klikk på Alternativer som ligger sist på listen tilgjengelige alternativer under menyen.

Trinn 3: Klikk på Tilpass bånd for å få tilgang til alternativene for tilpasning av bånd.

Trinn 4: Her i tilpasningsalternativene kan du se utvikleralternativet . Merk av for det, slik at det aktiveres på hovedbåndet til Excel og lett kan nås. Klikk OK når du har sjekket utvikleralternativet.

Så snart du trykker OK, kan du se Utvikler-fanen aktiv i Excel-båndmenyen med en rekke forskjellige alternativer som er tilgjengelige under. Se skjermdumpen nedenfor.

Hvordan bruker jeg DateDiff-funksjonen i Excel VBA?

Nedenfor er de forskjellige trinnene for å bruke DateDiff-funksjonen i Excel VBA:

Du kan laste ned denne VBA DateDiff Excel-malen her - VBA DateDiff Excel-mal

Eksempel 1

Følg trinnene nedenfor for å bruke DateDiff-funksjon i VBA i dette eksemplet:

Trinn 1: Opprett først et makronavn.

Kode:

 Sub bb () Slutt Sub 

Trinn 2: To variabler er definert som dato og tildelt dato for dem.

Kode:

 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 

Trinn 3: Skriv syntaksen til Datediff-funksjonen med det nødvendige argumentet, og tilord det samme gjennom VBA-meldingsboksen.

Kode:

 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 

Trinn 4: Kjør koden ved å trykke på F5-tasten eller ved å klikke på Spill-knappen. Slik at resultatet vises i meldingsboksen.

Eksempel 2

I eksemplet nedenfor beregner datedifffunksjonen antall år mellom de to datoene “09/06/2016” og “16/12/2020”. Her tas ikke valgfrie parametere med i betraktningen.

Kode:

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

For å kjøre programmet, trykk på “ F8 ” eller “ Kjør ” -fanen. Resultatet vises i meldingsboksen.

Eksempel 3

I eksemplet nedenfor beregner datedifffunksjonen antall måneder mellom de to datoene ”09/06/2016” og “16/12/2020”. Her tas ikke valgfrie parametere med i betraktningen.

Kode:

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

For å kjøre programmet, trykk på “ F8 ” eller “ Kjør ” -fanen. Resultatet vises i meldingsboksen.

Eksempel 4

I eksempelet nedenfor beregner datedifffunksjonen antall uker mellom i de to datoene ”09/06/2016” og “16/12/2020”. Her tas ikke valgfrie parametere med i betraktningen.

Kode:

 Sub AA2 () 'ukers forskjell MsgBox DateDiff ("ww", "09/06/2016", "16/12/2020") Slutt Sub 

For å kjøre programmet, trykk på “ F8 ” eller “ Kjør ” -fanen. Resultatet vises i meldingsboksen.

Eksempel 5

I eksemplet nedenfor beregner “ datediff ” -funksjonen antall kvartaler mellom de to datoene ”09/06/2016” og “16/12/2020”. Her tas ikke valgfrie parametere med i betraktningen.

Kode:

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

For å kjøre programmet, trykk på “ F8 ” eller “ Kjør ” -fanen. Resultatet vises i meldingsboksen.

Eksempel 6

I eksemplet nedenfor beregner “ datediff ” -funksjonen antall dager mellom de to datoene ”09/06/2016” og “16/12/2020”. Her tas ikke valgfrie parametere med i betraktningen.

Kode:

 Sub AA4 () 'dager forskjell MsgBox DateDiff ("d", "09/06/2016", "16/12/2020") Slutt Sub 

For å kjøre programmet, trykk på “ F8 ” eller “ Kjør ” -fanen. Resultatet vises i meldingsboksen.

Eksempel 7

I eksemplet nedenfor beregner “ datediff ” -funksjonen antall timer mellom de to datoene og klokkeslettet ”9:00 på 01/01/2010 ” og “11:00 19/04/2019”.

Kode:

 Sub bb1 () 'Beregn antall timer mellom 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 å kjøre programmet, trykk på “ F8 ” eller “ Kjør ” -fanen. Resultatet vises i meldingsboksen.

Eksempel 8

I eksemplet nedenfor beregner “ datediff ” -funksjonen antall sekunder mellom de to datoene og klokkeslettet ”9:00 den 01/01/2010 ” og “11:00 den 19/04/2019”.

Kode:

 Sub bb2 () 'Beregn antall sekunder mellom 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 å kjøre programmet, trykk på “ F8 ” eller “ Kjør ” -fanen. Resultatet vises i meldingsboksen.

Eksempel 9

I eksemplet nedenfor beregner “ datediff ” -funksjonen antall minutter mellom de to datoene og klokkeslettet ”9:00 den 01/01/2010 ” og “11:00 den 19/04/2019”.

Kode:

 Sub bb3 () 'Beregn antall minutter mellom 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 å kjøre programmet, trykk på “ F8 ” eller “ Kjør ” -fanen. Resultatet vises i meldingsboksen.

Eksempel 10

Hvis argumentet er spesifisert som “w” (uker), returnerer “Datediff” -funksjonen tallet for hele uken mellom de to datoene. Delvis uker blir ignorert. I eksemplet beregner “ DateDiff ” -funksjonen antall hele uker mellom datoene 01/01/2010 og 19/4/2019.

Kode:

 Sub bb4 () 'Beregn antall uker mellom 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) Slutt sub 

For å kjøre programmet, trykk på “ F8 ” eller “ Kjør ” -fanen. Resultatet vises i meldingsboksen.

Eksempel 11

Hvis argumentet er spesifisert som "ww" (kalenderuker), gir "Datediff" -funksjonen antall uker mellom ukens start som inneholder Date1 og ukens start som inneholder Date2.

Kode:

 Sub bb5 () 'Beregn antall kalenderuker mellom 1/1/2010 og 19/4/2019' Første ukedag = 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 å kjøre programmet, trykk på “ F8 ” eller “ Kjør ” -fanen. Resultatet vises i meldingsboksen.

Eksempel 12

I eksemplet nedenfor brukes “datediff” -funksjonen for datoer ”1/1/1990” og “1/1/1998”

Kode:

 Sub cc () 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 ("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 å kjøre programmet, trykk på “ F8 ” eller “ Kjør ” -fanen. Resultatet vises i meldingsboksen.

Klikk deretter på " OK " for å få neste resultat.

Konklusjon

DateDiff ” -funksjonen hjelper dermed med å bestemme hvor mange spesifiserte tidsintervaller som er mellom to spesifiserte datoer og klokkeslett.

Anbefalte artikler

Dette er en guide til VBA DateDiff. Her diskuterer vi hvordan du bruker DateDiff-funksjon i Excel VBA sammen med praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. VBA Declare Array (eksempler)
  2. Komplett guide til VBA om feil
  3. Unbeskytt arkmetode i VBA
  4. VBA-kolonner | Excel-mal
  5. VBA-miljø

Kategori: