VBA - Pobierz dzisiejszą datę (bieżąca data)

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

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave