我的问题是:
是否可以格式化单元格使其以数字显示为时间格式?
例如,我想要类型 1445 并且希望它以时间格式显示为 14:45。
这里最重要的是“时间格式”部分。我可以使用 格式化单元格 ##":"##
,但这不允许我使用像时间格式这样的值。
答案1
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then 'Column A
If Target.Value > 1 Then 'convert the value to a time format
If Len(Target.Value) > 2 Then 'only entered the hour... no minutes
Target.Value = (Left(Target.Value, Len(Target.Value) - 2) * 60 + Right(Target.Value, 2)) / 1440
Target.NumberFormat = "hh:mm"
Else
Target.Value = (Target.Value * 60) / 1440
End If
End If
End If
End Sub
将此代码放入您要执行此操作的工作表中。默认情况下,代码仅检查 A 列,但您应该能够快速更改要检查的列或行并对其执行此计算。