Как преобразовать строку в дату в vba (с примерами)


Вы можете использовать функцию CDate в VBA для преобразования текстовой строки в дату.

Вот два распространенных способа использования этой функции на практике:

Способ 1: преобразовать строку в дату, используя формат по умолчанию (ММ/ДД/ГГГГ)

 Sub ConvertStringToDate()

    Dim i As Integer

    For i = 2 To 8
        Range(" B " & i) = CDate(Range(" A " & i))
    Next i
    
End Sub

Этот конкретный макрос преобразует каждую строку в диапазоне A2:A8 в дату в формате даты по умолчанию ММ/ДД/ГГГГ.

Например, текстовая строка 15.04.2023 будет преобразована в дату 15.04.2023.

Способ 2. Преобразование строки в дату с использованием пользовательского формата

 Sub ConvertStringToDate()

    Dim i As Integer

    For i = 2 To 8
        Range(" B " & i) = Format(CDate(Range(" A " & i)), " MM.DD.YYYY ")
    Next i
    
End Sub

Этот конкретный макрос преобразует каждую строку в диапазоне A2:A8 в дату в формате ММ.ДД.ГГГГ.

Например, текстовая строка 15.04.2023 будет преобразована в дату 15.04.2023.

В следующих примерах показано, как использовать каждый метод на практике со следующим столбцом строк в Excel:

Пример 1. Преобразование строки в дату с использованием формата по умолчанию

Мы можем использовать следующий макрос для преобразования каждой строки в столбце A в дату в формате по умолчанию ММ/ДД/ГГГ:

 Sub ConvertStringToDate()

    Dim i As Integer

    For i = 2 To 8
        Range(" B " & i) = CDate(Range(" A " & i))
    Next i
    
End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

Обратите внимание, что столбец B преобразует каждую строку в столбце A в дату в формате даты по умолчанию ММ/ДД/ГГГГ.

Пример 2. Преобразование строки в дату с использованием пользовательского формата

Мы можем использовать следующий макрос для преобразования каждой строки в столбце A в дату в произвольном формате ММ.ДД.ГГГ:

 Sub ConvertStringToDate()

    Dim i As Integer

    For i = 2 To 8
        Range(" B " & i) = Format(CDate(Range(" A " & i)), " MM.DD.YYYY ")
    Next i
    
End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

Обратите внимание, что столбец B преобразует каждую строку в столбце A в дату в специальном формате ММ.ДД.ГГГГ.

Не стесняйтесь использовать функцию формата VBA для отображения дат в выбранном вами формате.

Примечание . Полную документацию по функции VBA CDate можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:

Как преобразовать строку в int в VBA
Как преобразовать строку в длинную в VBA
Как преобразовать строку в двойную в VBA

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *