Как преобразовать строку в дату в 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