Denne korte opplæringen vil demonstrere hvordan du konverterer en streng til en dato i VBA.
Datoer i Excel lagres som tall, og formateres deretter for å vises som en dato. Dag 1 i Excel -verden var 1. januar 1900 (Windows standard) eller 1. januar 1904 (Macintosh standard) - noe som betyr at 5. august 2022 er dag 44413 siden 1. januar 1900. For å konvertere en streng til en dato i Excel , må vi først konvertere strengen til et tall, og deretter konvertere dette tallet til datoen.
CDate -funksjon
Vi kan bruke en funksjon kalt CDate i VBA for å konvertere en streng til en dato.
1234567 | Sub ConvertDate ()Dim dte Som singelDim strD Som strengstrD = "05/10/2020"dte = CDate (strD)MsgBox dteSlutt Sub |
Siden vi har erklært en numerisk variabel (dte som enkel), vil msgbox returnere tallet som refererer til datoen som er angitt.
Det er viktig at vi skriver inn året ved å bruke alle fire av årets sifre (dvs. 2022 og ikke bare 20), ellers er ikke tallet som returneres kanskje som forventet. Excel tolker ikke årsdelen av datoen - dette kontrolleres av kontrollpanelet på vår PC.
Men hvis vi erklærer variablene som en datavariabel, returnerer meldingsboksen tallet som er konvertert til en dato.
1234567 | Sub ConvertDate ()Dim dte As DateDim strD Som strengstrD = "05/10/2020"dte = CDate (strD)MsgBox dteSlutt Sub |
Vi kan ta dette et skritt videre og formatere datoen til typen datoformat som vi ønsker å se.
1234567 | Sub ConvertDate ()Dim dte As StringDim strD Som strengstrD = "05/10/2020"dte = Format (CDate (strD), "dd mmmm åååå")MsgBox dteSlutt Sub |
I dette eksemplet konverterer vi strengen til en dato, og deretter tilbake til en streng igjen!
Hvis vi skulle utelate året helt, antar Excel inneværende år.