如何在excel中将hhmam/PM(无空格)格式化为时间hh:mm AM/PM?

如何在excel中将hhmam/PM(无空格)格式化为时间hh:mm AM/PM?,excel,format,Excel,Format,我正在处理一个工资单项目,为了使数据输入更有效,我希望输入的时间格式为hhmam/PM,没有空格或冒号,最好只键入a/p而不是AM/PM,并将其转换为带有冒号和空格的标准时间格式。谢谢 这里有一个小宏,它是为列a编码的。它可以修改为处理任何一组单元格。宏监视列A中的条目,并将其从0745a或0745p等值更改为正常时间。在工作表代码区域中输入以下事件宏: Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Ta

我正在处理一个工资单项目,为了使数据输入更有效,我希望输入的时间格式为hhmam/PM,没有空格或冒号,最好只键入a/p而不是AM/PM,并将其转换为带有冒号和空格的标准时间格式。谢谢

这里有一个小宏,它是为列a编码的。它可以修改为处理任何一组单元格。宏监视列A中的条目,并将其从0745a或0745p等值更改为正常时间。在工作表代码区域中输入以下事件宏:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
        s = Target.Text
        If Right(s, 1) = "a" Or Right(s, 1) = "A" Then
            s2 = " AM"
        Else
            s2 = " PM"
        End If
        Target.Value = Left(s, 2) & ":" & Mid(s, 3, 2) & s2
    Application.EnableEvents = True
End Sub
由于它是工作表代码,因此安装和自动使用非常容易:

  • 在Excel窗口底部附近的选项卡名称上单击鼠标右键
  • 选择查看代码-这将打开一个VBE窗口
  • 粘贴内容并关闭VBE窗口
  • 如果您有任何顾虑,请先在试用工作表上试用

    如果保存工作簿,宏将与工作簿一起保存。 如果在2003年以后使用Excel版本,则必须保存 文件的格式为.xlsm而不是.xlsx

    要删除宏,请执行以下操作:

  • 如上所述打开VBE窗口
  • 清除代码
  • 关闭VBE窗口
  • 要了解有关宏的更多信息,请参阅:

    要了解有关事件宏(工作表代码)的详细信息,请参阅:

    必须启用宏才能工作