Denna handledning kommer att visa hur du får dagens datum i VBA.
Det finns ett par sätt att få dagens datum i VBA -kod, nämligen att använda VBA Datum() funktion eller VBA Nu() funktioner.
Date () -funktion
De Datum() funktion gör det möjligt för oss att tilldela dagens datum till en variabel och sedan visa datumet i det omedelbara fönstret i VBE Editor för att se dagens datum.
123 | Dim dtToday as DatedtToday = Datum ()Debug.Print dtToday |
Alternativt kan vi visa datumet i en meddelanderuta.
12345 | Sub TestDateDim dtToday as DatedtToday = Datum ()Msgbox "Dagens datum är" & dtTodayAvsluta Sub |
Nu () Funktion
De Nu() Funktionen fungerar på samma sätt som datumfunktionen, men den inkluderar tiden.
12345 | Sub TestDate ()Dim dtToday As DatedtToday = Now ()MsgBox "Dagens datum är" & dtTodayAvsluta Sub |
Formatera datum med VBA
I båda Datum() och den Nu() datum, formateras datumet i en standardstil som bestäms av inställningarna på vår dator. Vi kan anpassa denna formatering med hjälp av VBA Formatera fungera. Eftersom formatfunktionen returnerar en sträng måste vi deklarera a STRÄNG variabel snarare än a DATUM variabel.
12345 | Sub TestDate ()Dim dtToday As StringdtToday = Format (datum, "dd mmmm åååå")MsgBox "Dagens datum är" & dtTodayAvsluta Sub |
Vi kan också formatera Nu() funktion för att inkludera tidsdelen i ett anpassat format.
12345 | Sub FormatNow ()Dim dtToday As StringdtToday = Format (Nu (), "dd mmmm åå hh: mm: ss am/pm")MsgBox dtTodayAvsluta Sub |
Jämför 2 datum med VBA
Vi kan också använda datumfunktionen för att jämföra dagens datum med ett annat datum - vi kanske vill beräkna hur många dagar det är till en händelse! Vi kan göra detta med hjälp av VBA DateDiff () funktion som returnerar ett nummer. Vi kan därför förklara enHELTAL variabel för att lagra det returnerade värdet i.
123456789 | Sub TestDateDiff ()Dim dtToday As DateDim dtSomeDay As DateDim iDays som heltaldtToday = DatumdtSomeDay = "05/06/2021"iDays = DateDiff ("d", dtToday, dtSomeDay)MsgBox "Det finns" & iDays & "dagar mellan de två datumen"Avsluta Sub |
Eftersom datum lagras som siffror kan vi också minus det andra datumet från det första för att få samma svar.
1 | iDays = dtToday - dtSomeDay |