Funkcja VBA DateDiff

Funkcja DATEDIFF w VBA jest wbudowaną funkcją w VBA, która jest również sklasyfikowana w funkcji daty i czasu w VBA, ta funkcja służy do uzyskania różnicy między dwiema datami, ta funkcja przyjmuje trzy argumenty, pierwszy argument to część różnicy, której chcemy który może być rokiem, dniem, miesiącem lub sekundą i dwiema datami, a wynik jest liczbą całkowitą.

Funkcja DATEDIFF w VBA

Funkcja DATEDIFF w języku VBA oblicza różnicę między dwoma datami w dniach, miesiącach, kwartałach i latach.

W programie Excel można znaleźć różnicę między dwiema datami na wiele sposobów. Nie potrzebujesz specjalnego wzoru, aby obliczyć różnicę między dwiema datami.

Jako przykład spójrz na poniższy obrazek.

Jeśli chcemy obliczyć różnicę między tymi dwiema datami, możemy po prostu odjąć datę 1 od daty 2.

Dało nam to różnicę między dwiema datami w ciągu kilku dni. Na tym polega problem z tą ogólną formułą. Jeśli potrzebujemy różnicy w miesiącach, latach, kwartałach itp.… To nie może dać.

W tym artykule pokażemy, jak korzystać z funkcji DateDiff w VBA.

Co to jest funkcja DATEDIFF w Excel VBA?

DATEDIFF w języku VBA oznacza „różnicę dat między dwiema datami”.

Ta funkcja może podać nam liczbę odstępów czasu między dwiema datami. Kiedy chcemy znaleźć różnicę między dwiema datami, możemy ją znaleźć w dniach, tygodniach, miesiącach, kwartałach itp.

Aby zrozumieć funkcję, spójrz na poniższą składnię funkcji.

Interwał: To nic innego, ale w jaki sposób chcesz obliczyć różnicę dat. Czy to w dniach, miesiącach, tygodniach, kwartałach, itp… Poniżej znajduje się lista tego samego.

Data 1: Jaka jest pierwsza data, w której chcesz znaleźć różnicę.

Data 2: Jaka jest druga data, dla której chcesz znaleźć różnicę od daty 1. Data 1: Jaka jest pierwsza data, w której chcesz znaleźć różnicę.

Tutaj formuła to Data 2 - Data 1.

[Pierwszy dzień tygodnia]: Jaki jest pierwszy dzień tygodnia? Możemy śledzić argumenty.

[Pierwszy tydzień roku]: Jaki jest pierwszy tydzień roku. Możemy wprowadzić następujące argumenty.

Przykłady funkcji DATEDIFF w Excel VBA

Poniżej przedstawiono przykłady formatu Excel VBA DateDiff.

Możesz pobrać ten szablon funkcji VBA DateDiff tutaj - Szablon funkcji VBA DateDiff

Przykład nr 1 - Aby znaleźć różnice w dniach

Załóżmy, że masz dwie daty: „15-01-2018” i „15-01-2019”. Znajdźmy różnego rodzaju różnice dla tych dwóch dat.

Krok 1: Najpierw utwórz nazwę makra.

Kod:

 Sub DateDiff_Example1 () End Sub 

Krok 2: Zdefiniuj dwie zmienne jako datę.

Kod:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date End Sub 

Krok 3: Teraz dla zmiennej Date1 przypisz „15-01-2018”, a dla zmiennej Date2 przypisz „15-01-2019”.

Kod:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Date1 = "15-01-2018" Date2 = "15-01-2019" End Sub 

Krok 4: Teraz aby zapisać wyniki, zdefiniuj jeszcze jedną zmienną jako Long.

Kod:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Wynik As Long Date1 = "15-01-2018" Date2 = "15-01-2019" End Sub 

Krok 5: Teraz przypisz wartość tej zmiennej za pomocą funkcji DATEDIFF w VBA

Kod:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff (End Sub 

Krok 6: Pierwszy argument dotyczy tego, jakiej różnicy potrzebujemy między tymi dwiema datami. Powiedzmy, że musimy znaleźć liczbę dni, więc podaj argument jako „D”.

Kod:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Wynik As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff ("D", End Sub 

Krok 7: Jaka jest pierwsza data, aby znaleźć różnicę. Nasza pierwsza data to „15-01-2018”, którą już przypisaliśmy do zmiennej „Date1”. Więc podaj tutaj nazwę zmiennej.

Kod:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Wynik As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff ("D", Date1, End Sub 

Krok 8: Jaka jest druga data, aby znaleźć różnicę. Druga data to „15-01-2019”, która przechowuje wartość poprzez zmienną „Date2”.

Kod:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Wynik As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff ("D", Date1, Date2) End Sub 

Step 9: Ignore the last two parameters. Now assign the value of variable “Result” through the VBA message box.

Code:

 Sub DateDiff_Example1() Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff("D", Date1, Date2) MsgBox Result End Sub 

Now run the code using F5 key or manually, we will get the difference between these two dates in a number of days.

So, from “15-01-2018” to 15-01-2019” the exact difference is 1 year, so we got 365 days as the result.

Like this, we can find the difference between two dates in time intervals.

Example #2 – To Find Difference in Months

Code:

 Sub DateDiff_Example2() Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff("M", Date1, Date2) MsgBox Result End Sub 

 

Run this code Using the F5 key or you can run manually to show the result as given below.

Example #3 – To Find Difference in Years

Code:

 Sub DateDiff_Example3() Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff("YYYY", Date1, Date2) MsgBox Result End Sub 

Run this code using the F5 key or manually to see the result.

Assignment as a Practice

I hope you have understood the function of VBA DATEDIFF. Take look at the below homework for you. Find the difference between the below dates in “Months”.

If you have not found the way below is the readymade code for you.

Code:

 Sub Assignment() Dim k As Long For k = 2 To 8 Cells(k, 3).Value = DateDiff("M", Cells(k, 1), Cells(k, 2)) Next k End Sub 

You can run this code manually or press the F5 key to see the result.