Funkcja DateDiff w Excel VBA

Funkcja VBA Datediff zapewnia różnicę między dwoma określonymi interwałami. Tutaj interwał może być określony jako godziny / miesiące / dni… itd., Określone przez użytkownika. Jest to wbudowana funkcja w programie Excel i sklasyfikowana jako funkcja „ Data / czas ”. Może być używany jako funkcja „ VBA ” w programie Excel.

Składnia :

Parametr lub argumenty używane w funkcji DateDiff.

1. Interwał:

  • Jest to obowiązkowe
  • Typ: - wyrażenie typu ciąg.
  • Oblicza różnicę między dwiema datami.
Ustawienie (interwał) Opis / objaśnienie
„S” sekundy
„N” Minuty
„H” godziny
"re" Dni
„W” Dzień powszedni
„M” Miesięcy
"w W" Tydzień
„Y” Dzień roku
„Q” Jedna czwarta
„Rrrr” Rok

2. Data 1:

  • Jest to obowiązkowe
  • Wpisz: - Data.
  • Reprezentuje datę / godzinę rozpoczęcia obliczania daty.

3. Data 2:

  • Jest to obowiązkowe
  • Wpisz: - Data.
  • Reprezentuje datę / godzinę zakończenia obliczania daty.

4. Pierwszy dzień tygodnia:

  • To jest opcjonalne.
  • Typ: - Numeryczny lub Tekstowy.
  • Określa dzień używany jako pierwszy dzień tygodnia.
  • Jeśli ten argument lub parametr zostanie pominięty, przyjmuje on niedzielę (VbSunday) jako pierwszy dzień tygodnia.

5. Pierwszy tydzień roku

  • To jest opcjonalne.
  • Typ: - Numeryczny lub Tekstowy.
  • Określa dzień używany jako pierwszy tydzień roku.
  • Jeśli ten argument lub parametr zostanie pominięty, przyjmuje on 1 stycznia (vbFirstJan1) jako pierwszy tydzień roku.

Jak włączyć kartę programisty w programie Excel?

Karta programisty jest obowiązkowa na wstążce Excel, aby uruchomić i napisać makro VBA. Poniżej znajdują się różne kroki, aby włączyć kartę programistów w programie Excel VBA:

Krok 1: Przejdź do karty menu Plik .

Krok 2: W menu Plik kliknij Opcje znajdujące się na ostatniej liście dostępnych opcji w menu.

Krok 3: Kliknij Dostosuj wstążkę, aby uzyskać dostęp do opcji dostosowywania wstążki.

Krok 4: Tutaj w opcjach dostosowywania możesz zobaczyć opcję Deweloper . Zaznacz to, aby został aktywowany na głównej wstążce programu Excel i był łatwo dostępny. Kliknij OK po zaznaczeniu opcji Deweloper.

Gdy tylko klikniesz OK, możesz zobaczyć kartę Deweloper aktywną w menu wstążki Excel z kilkoma różnymi opcjami dostępnymi pod. Zobacz zrzut ekranu poniżej.

Jak korzystać z funkcji DateDiff w Excelu VBA?

Poniżej przedstawiono różne kroki korzystania z funkcji DateDiff w programie Excel VBA:

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

Przykład 1

W tym przykładzie wykonaj poniższe czynności, aby użyć funkcji DateDiff w VBA:

Krok 1: Najpierw utwórz nazwę makra.

Kod:

 Sub bb () End Sub 

Krok 2: Dwie zmienne są zdefiniowane jako data i przypisana do nich data.

Kod:

 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 

Krok 3: Napisz składnię funkcji Datediff, biorąc wymagany argument i przypisz go przez okno komunikatu VBA.

Kod:

 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 

Krok 4: Uruchom kod, naciskając klawisz F5 lub klikając przycisk Odtwórz. Tak, aby wynik był wyświetlany w oknie komunikatu.

Przykład nr 2

W poniższym przykładzie funkcja datowania oblicza liczbę lat między dwiema datami „09.06.2016” i „16.12.2020”. W tym przypadku parametry opcjonalne nie są brane pod uwagę.

Kod:

 Sub AA () „Różnica roku MsgBox DateDiff („ rrrr ”, „ 09.06.2016 ”, „ 16.12.2020 ”) Koniec Sub 

Aby uruchomić program, naciśnij kartę „ F8 ” lub „ Uruchom ”. Wynik zostanie wyświetlony w oknie komunikatu.

Przykład nr 3

W poniższym przykładzie funkcja datowania oblicza liczbę miesięcy między dwiema datami „09.06.2016” i „16.12.2020”. W tym przypadku parametry opcjonalne nie są brane pod uwagę.

Kod:

 Sub AA1 () „różnica miesięczna MsgBox DateDiff („ m ”, „ 09/06/2016 ”, „ 16/12/2020 ”) End Sub 

Aby uruchomić program, naciśnij kartę „ F8 ” lub „ Uruchom ”. Wynik zostanie wyświetlony w oknie komunikatu.

Przykład 4

W poniższym przykładzie funkcja datowania oblicza liczbę tygodni między dwiema datami „09.06.2016” i „16.12.2020”. W tym przypadku parametry opcjonalne nie są brane pod uwagę.

Kod:

 Sub AA2 () „różnica tygodni MsgBox DateDiff („ ww ”, „ 09/06/2016 ”, „ 16/12/2020 ”) End Sub 

Aby uruchomić program, naciśnij kartę „ F8 ” lub „ Uruchom ”. Wynik zostanie wyświetlony w oknie komunikatu.

Przykład 5

W poniższym przykładzie funkcja „ datediff ” oblicza liczbę kwartałów między dwiema datami „09.06.2016” i „16.12.2020”. W tym przypadku parametry opcjonalne nie są brane pod uwagę.

Kod:

 Sub AA3 () „różnica kwartalna MsgBox DateDiff („ q ”, „ 09/06/2016 ”, „ 16.12.2020 ”) End Sub 

Aby uruchomić program, naciśnij kartę „ F8 ” lub „ Uruchom ”. Wynik zostanie wyświetlony w oknie komunikatu.

Przykład nr 6

W poniższym przykładzie funkcja „ datediff ” oblicza liczbę dni między dwiema datami „06.09.2016” i „16.12.2020”. W tym przypadku parametry opcjonalne nie są brane pod uwagę.

Kod:

 Sub AA4 () „różnica dni MsgBox DateDiff („ d ”, „ 09/06/2016 ”, „ 16/12/2020 ”) End Sub 

Aby uruchomić program, naciśnij kartę „ F8 ” lub „ Uruchom ”. Wynik zostanie wyświetlony w oknie komunikatu.

Przykład nr 7

W poniższym przykładzie funkcja „ datediff ” oblicza liczbę godzin między dwiema datami i godziną ”9:00 w dniu 01.01.2010” i „11:00 w dniu 19.04.2019”.

Kod:

 Podpunkt bb1 () „Oblicz liczbę godzin między 1 stycznia 2010 r. 9:00 a 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 

Aby uruchomić program, naciśnij kartę „ F8 ” lub „ Uruchom ”. Wynik zostanie wyświetlony w oknie komunikatu.

Przykład nr 8

W poniższym przykładzie funkcja „ datediff ” oblicza liczbę sekund między dwiema datami i godziną „9:00 w dniu 01.01.2010” i „11:00 w dniu 19.04.2019”.

Kod:

 Sub bb2 () 'Oblicz liczbę sekund między 1/1/2010 9:00 a 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 # MsgBox DateDiff ("s", dt1, dt2) End Sub 

Aby uruchomić program, naciśnij kartę „ F8 ” lub „ Uruchom ”. Wynik zostanie wyświetlony w oknie komunikatu.

Przykład nr 9

W poniższym przykładzie funkcja „ datediff ” oblicza liczbę minut między dwiema datami i godziną ”9:00 w dniu 01.01.2010” i „11:00 w dniu 19.04.2019”.

Kod:

 Sub bb3 () „Oblicz liczbę minut między 1/1/2010 9:00 a 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 # MsgBox DateDiff („n”, dt1, dt2) End Sub 

Aby uruchomić program, naciśnij kartę „ F8 ” lub „ Uruchom ”. Wynik zostanie wyświetlony w oknie komunikatu.

Przykład nr 10

Jeśli argument jest określony jako „w” (tygodnie), funkcja „Datediff” zwraca numer całego tygodnia między dwiema datami. Częściowe tygodnie są ignorowane. W tym przykładzie funkcja „ DateDiff ” oblicza liczbę pełnych tygodni między datami 01.01.2010 a 19.04.2019.

Kod:

 Sub bb4 () „Oblicz liczbę tygodni między 1/1/2010 a 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 

Aby uruchomić program, naciśnij kartę „ F8 ” lub „ Uruchom ”. Wynik zostanie wyświetlony w oknie komunikatu.

Przykład nr 11

Jeśli argument jest określony jako „ww” (tygodnie kalendarzowe), funkcja „Datediff” podaje liczbę tygodni między początkiem tygodnia zawierającego datę 1 a początkiem tygodnia zawierającego datę 2.

Kod:

 Sub bb5 () „Oblicz liczbę tygodni kalendarzowych między 1/1/2010 a 19/4/2019” Pierwszy dzień tygodnia = poniedziałek Dim dt1 As Data Dim dt2 As Data dt1 = # 1/1/2010 # dt2 = # 4/19/2019 # MsgBox DateDiff („ww”, dt1, dt2, vb poniedziałek) Koniec Sub 

Aby uruchomić program, naciśnij kartę „ F8 ” lub „ Uruchom ”. Wynik zostanie wyświetlony w oknie komunikatu.

Przykład nr 12

W poniższym przykładzie funkcja „datowany” jest używana dla dat ”1/1/1990” i „1/1/1998”

Kod:

 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 („wiersz 1:” & DateDiff („h”, dt1, dt2)) MsgBox („linia 2:” i DateDiff („s”, dt1, dt2)) MsgBox („linia 3:” i DateDiff („n”, dt1, dt2)) MsgBox („wiersz 4:” i DateDiff („d”, dt1, dt2)) MsgBox („wiersz 5:” i DateDiff („m”, dt1, dt2)) MsgBox („wiersz 6:” i DateDiff („q”, dt1, dt2)) MsgBox („linia 7:” i DateDiff („w”, dt1, dt2)) MsgBox („linia 8:” i DateDiff („ww”, dt1, dt2)) MsgBox („linia 9: „& DateDiff („ y ”, dt1, dt2)) MsgBox („ linia 10: ”i DateDiff („ rrrr ”, dt1, dt2)) End Sub 

Aby uruchomić program, naciśnij kartę „ F8 ” lub „ Uruchom ”. Wynik zostanie wyświetlony w oknie komunikatu.

Następnie kliknij „ OK ”, aby uzyskać następny wynik.

Wniosek

Funkcja „ DateDiff ” pomaga w ten sposób określić, ile przedziałów czasu istnieje między dwiema określonymi datami i godzinami.

Polecane artykuły

Jest to przewodnik po VBA DateDiff. Tutaj omawiamy, jak korzystać z funkcji DateDiff w Excel VBA wraz z praktycznymi przykładami i szablonem Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. VBA Declare Array (Przykłady)
  2. Kompletny przewodnik po VBA o błędzie
  3. Niechroniona metoda arkusza w VBA
  4. Kolumny VBA | Szablon Excel
  5. VBA Environ

Kategoria: