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 DateDiffPrzykł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 -
- VBA Declare Array (Przykłady)
- Kompletny przewodnik po VBA o błędzie
- Niechroniona metoda arkusza w VBA
- Kolumny VBA | Szablon Excel
- VBA Environ