VBA Konwertuj ciąg na datę

Spisie treści

Ten krótki samouczek pokaże, jak przekonwertować ciąg na datę w VBA.

Daty w programie Excel są przechowywane jako liczby, a następnie formatowane tak, aby były wyświetlane jako data. Dzień 1 w świecie Excela to 1 stycznia 1900 (domyślny Windows) lub 1 stycznia 1904 (domyślny Macintosh) - co oznacza, że ​​5 sierpnia 2022 to dzień 44413 od 1 stycznia 1900. Aby przekonwertować ciąg na datę w Excelu , najpierw musimy przekonwertować ciąg na liczbę, a następnie przekonwertować tę liczbę na datę.

Funkcja CDate

Możemy użyć funkcji o nazwie CDate w VBA, aby przekonwertować ciąg na datę.

1234567 SubData konwersji()Dim dte As SingleDim strD jako ciągstrD = "05/10/2020"dte = CDate(strD)MsgBox dteNapis końcowy

Ponieważ zadeklarowaliśmy zmienną liczbową (dte jako Single), msgbox zwróci liczbę odpowiadającą wprowadzonej dacie.

Ważne jest, aby wprowadzić rok za pomocą wszystkich 4 cyfr roku (tj. 2022, a nie tylko 20), w przeciwnym razie zwrócona liczba może nie być taka, jak oczekiwano. Excel nie interpretuje części daty dotyczącej roku - jest to kontrolowane przez Panel sterowania naszego komputera.

Jeśli jednak zadeklarujemy zmienne jako zmienną daty, okno komunikatu zwróci liczbę przekonwertowaną na datę.

1234567 SubData konwersji()Dim dte As DateDim strD jako ciągstrD = "05/10/2020"dte = CDate(strD)MsgBox dteNapis końcowy

Możemy pójść o krok dalej i sformatować datę do typu formatu daty, który chcielibyśmy zobaczyć.

1234567 SubData konwersji()Dim dte As StringDim strD jako ciągstrD = "05/10/2020"dte = Format(CDate(strD), "dd mmmm rrrr")MsgBox dteNapis końcowy

W tym przykładzie konwertujemy ciąg na datę, a następnie z powrotem na ciąg!

Gdybyśmy mieli całkowicie pominąć rok, Excel zakłada rok bieżący.

wave wave wave wave wave