如何在 vba 中设置时间格式(附示例)
您可以使用 VBA 中的Format函数和以下参数以特定方式格式化 Excel 中的时间:
- h :不带零的小时
- hh :带零的小时
- n :不带零的分钟
- nn :带零的分钟
- s :不带零的秒
- ss :带零的秒
- AM/PM :上午/下午显示
以下示例展示了如何在实践中使用 VBA 设置时间格式。
示例:使用 VBA 设置时间格式
假设 Excel 中有以下日期/时间列:
我们可以创建以下宏来专门格式化 A 列中的时间,并在 B 至 E 列中显示格式化的时间:
SubFormatTime ()
Dim i As Integer
For i = 2 To 8
Range(" B " & i) = Format(Range(" A " & i), " h ")
Range(" C " & i) = Format(Range(" A " & i), " h:nn ")
Range(" D " & i) = Format(Range(" A " & i), " h:nn:ss ")
Range(" E " & i) = Format(Range(" A " & i), " h:nn:ss AM/PM ")
Next i
End Sub
当我们运行这个宏时,我们会收到以下输出:
现在,B 至 E 列每次都会以特定方式显示在 A 列中。
请注意,您还可以使用Short Time 、 Medium Time和Long Time快捷方式格式:
SubFormatTime ()
Dim i As Integer
For i = 2 To 8
Range(" B " & i) = Format(Range(" A " & i), " Short Time ")
Range(" C " & i) = Format(Range(" A " & i), " Medium Time ")
Range(" D " & i) = Format(Range(" A " & i), " Long Time ")
Next i
End Sub
当我们运行这个宏时,我们会收到以下输出:
现在,B 至 D 列每次都会以特定方式显示在 A 列中。
其他资源
以下教程说明如何在 VBA 中执行其他常见任务:
VBA:如何使用 mm/dd/yyyy 作为日期格式
VBA:如何将单元格格式设置为百分比
VBA:如何对单元格应用条件格式