如何在 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 中执行其他常见任务: