如何在 vba 中将字符串转换为日期(带有示例)


您可以使用 VBA 中的CDate函数将文本字符串转换为日期。

以下是在实践中使用此功能的两种常见方法:

方法 1:使用默认格式 (MM/DD/YYYY) 将字符串转换为日期

 Sub ConvertStringToDate()

    Dim i As Integer

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

这个特定的宏会将A2:A8范围内的每个字符串转换为默认日期格式 MM/DD/YYYY 的日期。

例如,文本字符串 04/15/2023 将转换为日期 04/15/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范围内的每个字符串转换为 MM.DD.YYYY 格式的日期。

例如,文本字符串 04/15/2023 将转换为日期 04/15/2023。

以下示例展示了如何在 Excel 中以下列字符串的实践中使用每种方法:

示例 1:使用默认格式将字符串转换为日期

我们可以使用以下宏将 A 列中的每个字符串转换为默认 MM/DD/YYY 格式的日期:

 Sub ConvertStringToDate()

    Dim i As Integer

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

当我们运行这个宏时,我们会收到以下输出:

请注意,B 列将 A 列中的每个字符串转换为默认日期格式 MM/DD/YYYY 的日期。

示例 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格式功能以您选择的格式显示日期。

注意:您可以在此处找到 VBA CDate函数的完整文档。

其他资源

以下教程说明如何在 VBA 中执行其他常见任务:

如何在VBA中将字符串转换为int
如何在VBA中将字符串转换为long
如何在VBA中将字符串转换为双精度

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注