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 dwiema 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.
Na 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 używać tej funkcji DateDiff w VBA.
Co to jest funkcja DATEDIFF w Excel VBA?
DATEDIFF w języku VBA oznacza „Różnica 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 zgodzić się z następującymi argumentami.

(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 Excel 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 wszelkiego rodzaju różnice między tymi dwiema datami.
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 przechowywać 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 Wynik 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 Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result =DateDiff("D", End Sub

Step 7: What is the first date to find the difference. Our first date is “15-01-2018” that we have already assigned to the variable “Date1”. So supply the variable name here.
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, End Sub

Step 8: What is the second date to find the difference. The second date is “15-01-2019,” which holds the value through variable “Date2”.
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) 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 the 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 one year, so we got 365 days as a 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 a look at the below homework for you. Find the difference between the below dates in “Months.”

Jeśli nie znalazłeś drogi, poniżej znajduje się gotowy kod dla Ciebie.
Kod:
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

Możesz uruchomić ten kod ręcznie lub nacisnąć klawisz F5, aby zobaczyć wynik.
