Denne korte vejledning viser, hvordan du konverterer en streng til en dato i VBA.
Datoer i Excel gemmes som tal og formateres derefter til visning som en dato. Dag 1 i Excel -verden var den 1. januar 1900 (Windows -standard) eller 1. januar 1904 (Macintosh -standard) - hvilket betyder, at den 5. august 2022 er dag 44413 siden den 1. januar 1900. Sådan konverteres en streng til en dato i Excel , skal vi først konvertere strengen til et tal og derefter konvertere dette nummer til datoen.
CDate -funktion
Vi kan bruge en funktion kaldet CDate i VBA til at konvertere en streng til en dato.
1234567 | Sub ConvertDate ()Dim dte Som SingleDim strD Som strengstrD = "05/10/2020"dte = CDate (strD)MsgBox dteAfslut Sub |
Da vi har erklæret en numerisk variabel (dte som Single), returnerer msgbox det nummer, der refererer til den indtastede dato.
Det er vigtigt, at vi indtaster året ved hjælp af alle fire af årets cifre (dvs. 2022 og ikke kun 20), ellers er det returnerede antal måske ikke som forventet. Excel tolker ikke årsdelen af datoen - dette styres af kontrolpanelet på vores pc.
Men hvis vi erklærer variablerne som en datavariabel, returnerer meddelelsesboksen det nummer, der er konverteret til en dato.
1234567 | Sub ConvertDate ()Dim dte As DateDim strD Som strengstrD = "05/10/2020"dte = CDate (strD)MsgBox dteAfslut Sub |
Vi kan tage dette et skridt videre og formatere datoen til den type datoformat, som vi gerne vil se.
1234567 | Sub ConvertDate ()Dim dte Som strengDim strD Som strengstrD = "05/10/2020"dte = Format (CDate (strD), "dd mmmm åååå")MsgBox dteAfslut Sub |
I dette eksempel konverterer vi strengen til en dato og derefter tilbage til en streng igen!
Hvis vi skulle udelade året helt, antager Excel det indeværende år.