在单元格中输入“分钟:秒”格式,让 Excel 转换为秒并在同一单元格中报告

在单元格中输入“分钟:秒”格式,让 Excel 转换为秒并在同一单元格中报告

我正在尝试让 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,双击工作表并将代码粘贴到右侧。

单元格必须格式化为文本,以便宏找到该:字符。

相关内容