Ten samouczek pokaże, jak uzyskać dzisiejszą datę w VBA.
Istnieje kilka sposobów na uzyskanie dzisiejszej daty w kodzie VBA, a mianowicie użycie VBA Data() funkcja lub VBA Ale już() Funkcje.
Funkcja Date()
ten Data() Funkcja umożliwia nam przypisanie dzisiejszej daty do zmiennej, a następnie wyświetlenie daty w bezpośrednim oknie w Edytorze VBE, aby zobaczyć dzisiejszą datę.
123 | Dim dtToday jako DatadtDzisiaj = Data()Debug.Print dtToday |
Alternatywnie możemy wyświetlić datę w oknie wiadomości.
12345 | Data podtestuDim dtToday jako DatadtDzisiaj = Data()Msgbox "Dzisiejsza data to " & dtTodayNapis końcowy |
Funkcja Now ()
ten Ale już() Funkcja działa tak samo jak funkcja daty, ale zawiera czas.
12345 | PodDataTestu()Dim dtToday As DatedtDzisiaj = Teraz()MsgBox "Dzisiejsza data to " & dtTodayNapis końcowy |
Formatowanie dat za pomocą VBA
W obu Data() i Ale już() funkcje, data jest sformatowana w domyślnym stylu określonym przez ustawienia na naszym komputerze. Możemy dostosować to formatowanie za pomocą VBA Format funkcjonować. Ponieważ funkcja format zwróci łańcuch, musimy zadeklarować a STRUNOWY zmienna zamiast a DATA zmienny.
12345 | PodDataTestu()Dim dtToday As StringdtToday = Format (Data, "dd mmmm rrrr")MsgBox "Dzisiejsza data to " & dtTodayNapis końcowy |
Możemy również sformatować Ale już() funkcja, aby uwzględnić część czasu w niestandardowym formacie.
12345 | Podformat Teraz()Dim dtToday As StringdtToday = Format(Teraz(), "dd mmmm rr gg:mm:ss am/pm")MsgBox dtDzisiajNapis końcowy |
Porównanie 2 dat z VBA
Możemy również użyć funkcji Date, aby porównać dzisiejszą datę z inną datą - możemy chcieć obliczyć, ile dni pozostało do wydarzenia! Możemy to zrobić za pomocą VBA Różnica daty() funkcja, która zwróci liczbę. Możemy zatem zadeklarowaćLICZBA CAŁKOWITA zmienna, w której będzie przechowywana zwrócona wartość.
123456789 | PodtestDateDiff()Dim dtToday As DateDim dtSomeDay As DateDim iDays As IntegerdtDzisiaj = DatadtSomeDay = "05/06/2021"iDays = DateDiff("d", dtToday, dtSomeDay)MsgBox "Istnieją " & iDays & " dni między 2 datami"Napis końcowy |
Ponieważ daty są przechowywane jako liczby, możemy również odjąć drugą datę od pierwszej, aby uzyskać tę samą odpowiedź.
1 | iDays = dtToday - dtSomeDay |