VBA Konverter streng til dato

Innholdsfortegnelse

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.

wave wave wave wave wave