【问题标题】:Excel split based on stringExcel基于字符串拆分
【发布时间】:2014-12-11 14:23:38
【问题描述】:

我在 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。

【问题讨论】:

  • 请提供您迄今为止尝试过的内容。你的方法在哪里失败了?

标签: excel vbscript split


【解决方案1】:

怎么样:

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

【讨论】:

  • 哇,它工作得很好......你天才加里的学生......非常感谢。
猜你喜欢
  • 2022-01-20
  • 2019-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-28
  • 1970-01-01
  • 2015-10-31
  • 2016-12-31
相关资源
最近更新 更多