VBA Конвертиране на низ за дата

Съдържание

Този кратък урок ще покаже как да конвертирате низ в дата във VBA.

Датите в Excel се съхраняват като числа и след това се форматират, за да се показват като дата. Ден 1 в света на Excel беше 1 януари 1900 г. (по подразбиране за Windows) или 1 януари 1904 г. (по подразбиране за Macintosh) - което означава, че 5 август 2022 г. е ден 44413 от 1 януари 1900 г. За да преобразувате низ в дата в Excel , първо трябва да преобразуваме низ в число и след това да преобразуваме това число в датата.

CDate функция

Можем да използваме функция, наречена CDate във VBA, за да преобразуваме низ в дата.

1234567 Sub ConvertDate ()Dim dte As SingleDim strD As StringstrD = "05/10/2020"dte = CDate (strD)MsgBox dteEnd Sub

Тъй като сме декларирали числова променлива (dte като Single), msgbox ще върне номера, който се отнася до въведената дата.

Важно е да въведете годината, като използвате всички 4 цифри от годината (т.е. 2022, а не само 20), в противен случай върнатото число може да не е както се очаква. Excel не интерпретира годината като част от датата - това се контролира от контролния панел на нашия компютър.

Ако обаче декларираме променливите като променлива за дата, полето за съобщение ще върне преобразувания номер в дата.

1234567 Sub ConvertDate ()Затъмнете като датаDim strD As StringstrD = "05/10/2020"dte = CDate (strD)MsgBox dteEnd Sub

Можем да направим още една крачка напред и да форматираме датата според типа формат за дата, който бихме искали да видим.

1234567 Sub ConvertDate ()Dim dte As StringDim strD As StringstrD = "05/10/2020"dte = Формат (CDate (strD), "dd mmmm yyyy")MsgBox dteEnd Sub

В този пример преобразуваме низа в дата и след това отново в низ!

Ако трябва да пропуснем годината изцяло, Excel приема текущата година.

wave wave wave wave wave