Denne opplæringen vil demonstrere hvordan du får dagens dato i VBA.
Det er et par måter å skaffe dagens dato i VBA -kode, nemlig å bruke VBA Dato() funksjonen eller VBA Nå() funksjoner.
Date () -funksjon
De Dato() funksjonen lar oss tilordne dagens dato til en variabel og deretter vise datoen i det umiddelbare vinduet i VBE Editor for å se dagens dato.
123 | Dim dtToday as DatedtToday = Dato ()Debug.Print dtToday |
Alternativt kan vi vise datoen i en meldingsboks.
12345 | Sub TestDateDim dtToday as DatedtToday = Dato ()Msgbox "Dagens dato er" & dtTodaySlutt Sub |
Nå () Funksjon
De Nå() Funksjonen fungerer på samme måte som datofunksjonen, men den inkluderer tiden.
12345 | Sub TestDate ()Dim dtToday As DatedtToday = Now ()MsgBox "Dagens dato er" & dtTodaySlutt Sub |
Formatering av datoer med VBA
I begge Dato() og Nå() funksjoner, er datoen formatert i en standardstil som bestemt av innstillingene på vår PC. Vi kan tilpasse denne formateringen ved hjelp av VBA Format funksjon. Siden formatfunksjonen returnerer en streng, må vi deklarere a STRING variabel i stedet for a DATO variabel.
12345 | Sub TestDate ()Dim dtToday As StringdtToday = Format (Dato, "dd mmmm åååå")MsgBox "Dagens dato er" & dtTodaySlutt Sub |
Vi kan også formatere Nå() funksjon for å inkludere tidsdelen i et tilpasset format.
12345 | Sub FormatNow ()Dim dtToday As StringdtToday = Format (Nå (), "dd mmmm åå hh: mm: ss am/pm")MsgBox dtTodaySlutt Sub |
Sammenligning av 2 datoer med VBA
Vi kan også bruke datofunksjonen til å sammenligne dagens dato med en annen dato - vi vil kanskje beregne hvor mange dager det er til en hendelse! Vi kan gjøre dette ved hjelp av VBA DateDiff () funksjon som returnerer et tall. Vi kan derfor erklære enINTEGER variabel for å lagre den returnerte verdien i.
123456789 | Sub TestDateDiff ()Dim dtToday As DateDim dtSomeDay As DateDim iDays As IntegerdtToday = DatodtSomeDay = "05/06/2021"iDays = DateDiff ("d", dtToday, dtSomeDay)MsgBox "Det er" & iDays & "dager mellom de to datoene"Slutt Sub |
Siden datoer lagres som tall, kan vi også minus den andre datoen fra den første for å få det samme svaret.
1 | iDays = dtToday - dtSomeDay |