Як перетворити рядок на дату у 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 на дату з настроюваним форматом MM.DD.YYY:
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 на дату зі спеціальним форматом MM.DD.YYYY.
Не соромтеся використовувати функцію VBA Format для відображення дат у обраному вами форматі.
Примітка . Ви можете знайти повну документацію для функції VBA CDate тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
Як перетворити рядок на int у VBA
Як перетворити рядок на довгий у VBA
Як перетворити рядок на подвійне у VBA