Excel基于字符串拆分

时间:2014-12-11 14:23:38

标签: excel vbscript split

我在xls列A中有以下类型的值

Row 1 - 3min 17s 463ms
Row 2 - 19s 364ms
Row 3 - 165ms 
Row 4 - 364ms  
Row 5 - 4min 1s 463ms 

形成我的计算我需要将上面的值转换为ms(毫秒),我尝试使用拆分函数执行此操作(使用我有限的VBScripting知识),但我无法使其工作:(。你能不能请帮助

谢谢你, V2ri。

1 个答案:

答案 0 :(得分:0)

怎么样:

Sub millisec()
    Dim A As Range, r As Range, s As String
    Dim N As Long, milli As Long
    N = Cells(Rows.Count, "A").End(xlUp).Row
    Set A = Range("A1:A" & N)
    For Each r In A
        v = r.Text
        ary = Split(v, " ")
        milli = 0
        For Each ar In ary
            If Right(ar, 2) = "ms" Then
                milli = milli + CLng(Replace(ar, "ms", ""))
                GoTo qwerty
            End If
            If Right(ar, 1) = "s" Then
                milli = milli + 1000& * CLng(Replace(ar, "s", ""))
                GoTo qwerty
            End If
            milli = milli + 60& * 1000& * CLng(Replace(ar, "min", ""))
qwerty:
        Next ar
        r.Value = milli
    Next r
End Sub