如何删除最后一个字符并用`.`替换`:`

时间:2015-03-31 17:24:47

标签: excel vba excel-vba

我在Excel工作表中有两列MU包含员工时间记录,但时间格式错误,如08:13a。我希望它看起来像08.13,以便使用像=U2-M2这样的减法公式来获得差异。所以我想用:替换.并使用Excel VBA获取最后一个字符。

1 个答案:

答案 0 :(得分:2)

如果 8:13a 真的是8小时13分钟,那就是

Sub TimeFixer()
    For Each r In Selection
        ary = Split(Mid(r.Text, 1, Len(r.Text) - 1), ":")
        r.Value = TimeSerial(ary(0), ary(1), 0)
        r.NumberFormat = "hh:mm:ss"
    Next r
End Sub

会产生一个你可以用数字的时间。

修改#1:

公式:

=TIMEVALUE(LEFT(A1,LEN(A1)-1))

例如:

enter image description here

或者在代码中将选择替换为范围(" A1:A100")

有很多方法可以给这只猫上皮。