Як перетворити рядок на дату у 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *