Tento tutoriál předvede, jak získat dnešní datum ve VBA.
Existuje několik způsobů, jak získat dnešní datum v kódu VBA, a to pomocí VBA Datum() funkce nebo VBA Nyní() funkce.
Funkce Date ()
The Datum() funkce nám umožňuje přiřadit dnešní datum proměnné a poté zobrazit datum v bezprostředním okně v editoru VBE, abychom viděli dnešní datum.
123 | Dim dtToday as DatedtToday = Datum ()Debug.Print dtToday |
Alternativně můžeme datum zobrazit ve zprávě.
12345 | Dílčí testovací datumDim dtToday as DatedtToday = Datum ()Msgbox „Dnešní datum je“ & dtTodayEnd Sub |
Funkce Now ()
The Nyní() Funkce funguje stejným způsobem jako funkce data, ale zahrnuje čas.
12345 | Datum dílčího testu ()Dim dtToday As DatedtToday = Nyní ()MsgBox „Dnešní datum je“ & dtTodayEnd Sub |
Formátování dat pomocí VBA
V obou Datum() a Nyní() funkce, datum je formátováno ve výchozím stylu podle nastavení v našem počítači. Toto formátování můžeme přizpůsobit pomocí VBA Formát funkce. Protože funkce formátu vrátí řetězec, musíme deklarovat a TĚTIVA proměnná spíše než a DATUM proměnná.
12345 | Datum dílčího testu ()Dim dtToday As StringdtToday = Format (Datum, "dd mmmm rrrr")MsgBox „Dnešní datum je“ & dtTodayEnd Sub |
Můžeme také formátovat Nyní() funkce pro zahrnutí časové části do přizpůsobeného formátu.
12345 | Podformát Nyní ()Dim dtToday As StringdtToday = Format (Now (), "dd mmmm yy hh: mm: ss am/pm")MsgBox dtTodayEnd Sub |
Porovnání 2 dat s VBA
Můžeme také použít funkci Datum k porovnání dnešního data s jiným datem - možná bychom chtěli vypočítat, kolik dní zbývá do události! Můžeme to udělat pomocí VBA DateDiff () funkce, která vrátí číslo. Můžeme tedy prohlásit anCELÉ ČÍSLO proměnná pro uložení vrácené hodnoty.
123456789 | Dílčí testovací datumDiff ()Dim dtToday As DateDim dtSomeDay As DateDim iDays As IntegerdtToday = DatumdtSomeDay = "05/06/2021"iDays = DateDiff ("d", dtToday, dtSomeDay)MsgBox „Mezi 2 daty jsou“ a iDays & „dny“End Sub |
Protože jsou data uložena jako čísla, mohli bychom také minusovat druhé datum od prvního, abychom získali stejnou odpověď.
1 | iDays = dtToday - dtSomeDay |