Denne vejledning viser, hvordan du får dagens dato i VBA.
Der er et par måder at få dagens dato i VBA -kode, nemlig ved hjælp af VBA Dato() funktion eller VBA Nu() funktioner.
Date () funktion
Det Dato() funktion gør det muligt for os at tildele dagens dato til en variabel og derefter vise datoen i det umiddelbare vindue i VBE Editor for at se dagens dato.
123 | Dim dtI dag som datodtToday = Dato ()Debug.Print dtToday |
Alternativt kan vi vise datoen i en meddelelsesboks.
12345 | Sub TestDateDim dtToday as DatedtToday = Dato ()Msgbox "Dagens dato er" & dtTodayAfslut Sub |
Nu () Funktion
Det Nu() Funktion fungerer på samme måde som datofunktionen, men den inkluderer tiden.
12345 | Sub TestDate ()Dim dtI dag som datodtToday = Nu ()MsgBox "Dagens dato er" & dtTodayAfslut Sub |
Formatering af datoer med VBA
I begge Dato() og Nu() funktioner, formateres datoen i en standardstil som bestemt af indstillingerne på vores pc. Vi kan tilpasse denne formatering ved hjælp af VBA Format fungere. Da formatfunktionen returnerer en streng, skal vi erklære a SNOR variabel frem for a DATO variabel.
12345 | Sub TestDate ()Dim dtToday As StringdtToday = Format (dato, "dd mmmm åååå")MsgBox "Dagens dato er" & dtTodayAfslut Sub |
Vi kan også formatere Nu() funktion til at inkludere tidsdelen i et tilpasset format.
12345 | UnderformatNu ()Dim dtToday As StringdtToday = Format (Nu (), "dd mmmm åå hh: mm: ss am/pm")MsgBox dtTodayAfslut Sub |
Sammenligning af 2 datoer med VBA
Vi kan også bruge datofunktionen til at sammenligne dagens dato med en anden dato - vi vil måske beregne, hvor mange dage der er til en begivenhed! Vi kan gøre dette ved hjælp af VBA DateDiff () funktion, der returnerer et tal. Vi kan derfor erklære enHELTAL variabel til at gemme den returnerede værdi i.
123456789 | Sub TestDateDiff ()Dim dtI dag som datoDim dtSomeDay As DateDim iDays som heltaldtToday = DatodtSomeDay = "05/06/2021"iDays = DateDiff ("d", dtToday, dtSomeDay)MsgBox "Der er" & iDays & "dage mellem de 2 datoer"Afslut Sub |
Da datoer er gemt som tal, kunne vi også minus den anden dato fra den første for at få det samme svar.
1 | iDays = dtToday - dtSomeDay |