在excel中以mm:ss格式输入时间数据(不含前面的0:代表小时)。
我想把时间数据以mm:ss格式输入excel表格。问题是–虽然单元格格式是mm:ss,但如果我输入这样的数据:
12:33,实际存储的值是12小时33分。
12:33 实际存储的值是12小时33分钟 如果我想要12分钟33秒 我需要输入0:12:33
有没有办法让单元格接受12:33为mm:ss?
我想把时间数据以mm:ss格式输入excel表格。问题是–虽然单元格格式是mm:ss,但如果我输入这样的数据:
12:33,实际存储的值是12小时33分。
12:33 实际存储的值是12小时33分钟 如果我想要12分钟33秒 我需要输入0:12:33
有没有办法让单元格接受12:33为mm:ss?
有一个解决方案!在你的工作表模块中放入这段VBA代码,即:
1.打开Visual Basic编辑器(Alt-F11) 2. 在左上角的树视图中,双击你要输入次数的表 3. 在中央代码面板中,放置以下代码。 4. 关闭 VBE
使用此代码。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value < 0 Or Target.Value > 1 And Target.NumberFormat <> "h:mm" Then Exit Sub
Application.EnableEvents = False
Target.Value = Target.Value / 60
Target.NumberFormat = "mm:ss"
Application.EnableEvents = True
End Sub
如果您已经格式化了您要输入数据的范围,请使用这一行作为第一行:
If Target.Value < 0 Or Target.Value > 1 Then Exit Sub
请注意,这将改变数值和格式–每次您输入一个时间–或介于0和1之间的东西!如果您想限制它的范围,请使用这一行。如果你想把它限制在某一列,请添加这行:
If Target.Column <> 3 Then Exit Sub
或者这行把它限制在某个范围内
If Intersect(Target, Range("A2:A100") Is Nothing Then Exit Sub
``` 。
我也遇到过同样的问题,这是我找到的解决办法。用TIME
函数输入公式 它可以创建一个时间矩阵为=TIME(H,M,S)
,然后按照你的要求进行格式化。因为数学的原因,你每次还是要输入0小时,但这让整个事情变得无限可行。
解决上面的问题。使用h:mm
格式时,excel不会让你超过23。在你的格式[h]:mm
中的小时数加上括号,你就可以自由地超过23。
要计算以秒为单位的数值,请将单元格设置为 “一般 "数字格式,然后输入以下公式
=HOUR(A1)*60+MINUTE(A1)
```。