我正在尝试让 Excel 在同一个单元格中将“mm:ss”输入转换为“ss”格式。
例如,我希望用户在单元格 A1 中输入“1:21”(不是时间,而是 mm:ss),然后让 Excel 将其转换为秒,并在同一单元格 A1 中报告解决方案。
我认为这需要用 VBA 进行编程,但我没有足够的经验来编写自己的程序。
答案1
该 VBA 代码应该可以工作:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ErrorHandler
Application.EnableEvents = False
theRow = Target.Row
theColumn = Target.Column
Dim section() As String
theCharacter = ":"
theValue = Target.Value
pos = InStr(theValue, theCharacter)
If pos <> 0 Then
section() = Split(theValue, theCharacter)
minutesValue = section(0)
secondsValue = section(1)
newValue = (minutesValue * 60) + (secondsValue)
Target.Value = newValue
End If
Application.EnableEvents = True
ErrorHandler:
Application.EnableEvents = True
End Sub
使用 ALt+ F11 打开 VBA / Macros,双击工作表并将代码粘贴到右侧。
单元格必须格式化为文本,以便宏找到该:
字符。