人气 3654

Excel VBA 提取数据一则 [复制链接]

精益人 2016-12-21 16:07:11
网友“嘟嘟”有一个提取数据的问题:源数据:
1482140557682182.jpg (88.55 KB, 下载次数: 0, 售价: 1 金钱)
需要获取的数据:
  • 错误报警:从报警提示里“Error #W16 (09:41:17)”提取“W16”
  • 停机时间点:就是“Error #W16 (09:41:17)”,“()”里面的时间点“(09:41:17”
  • 行动时间点:A列找到错误报警后再到B列向下找第一次出现“Message Box Sucessfully Destroy”找到后将对应D列的时间获取
  • 成功解除报警:在向下找第一次出现“Message Box Sucessfully Destroy”,找到后将D列时间获取[/ol]
    备注:数据源是从设备上直接导出,需要提取整理出有用的数据,以前都是手动一个一个找,经常出错和找漏。
    错误报警提示例子:规律就是都有“#”和“()”里有时间点Error #W16 (09:41:17)Error #B27 (09:43:56) Wire No. 54Error #B27 (09:46:04) Wire No. 66Error #B27 (09:47:30) Wire No. 103
    作者:初心-Office中国Excel提取数据结果添加按钮,写入下面的宏代码,点击按钮即可自动获取需要的数据。
    1482140771161928.jpg (122.68 KB, 下载次数: 0, 售价: 4 金钱)
    Excel提取报警信息详细VBA代码:       Sub test()  Dim arr(), brr(1 To 999999, 1 To 7), m As Long, i As Long, crr, j As Long, kg As Boolean, t  arr = Sheet2.UsedRange.Value  For i = 1 To UBound(arr)    If Len(arr(i, 1)) > 0 Then      If InStr(arr(i, 1), "Error #") > 0 Then        m = m + 1        crr = Split(arr(i, 1), " ")        brr(m, 1) = Replace(crr(2), "#", "")        brr(m, 2) = TimeValue(Replace(Replace(crr(3), "(", ""), ")", ""))        kg = False        For j = i + 1 To UBound(arr)          If Len(arr(j, 2)) > 0 Then            If kg = False Then              If InStr(arr(j, 2), "Operation: Message Box") > 0 Then                brr(m, 3) = TimeValue(Split(arr(j, 4), " ")(2))                kg = True              End If                         Else              If InStr(arr(j, 2), "Operation: Warning Message") > 0 Then                brr(m, 4) = TimeValue(Split(arr(j, 4), " ")(2))                Exit For              End If            End If          End If        Next        If kg = True Then         brr(m, 6) = Format(brr(m, 3) - brr(m, 2), "hh:mm:ss")         brr(m, 7) = Format(brr(m, 4) - brr(m, 3), "hh:mm:ss")        End If        i = i + (j - i)      End If    End If  Next  Sheet1.Range("A2").Resize(m, 7) = brrEnd Sub
    点击加入群:Excel部落结识Excel大神学好Excel,效率成倍提高,薪水稳步增长,职位快速提升
    每天一个源创技巧,如觉得有用,请点上面关注。更重要手机转发分享
  • 您需要登录后才可以回帖 登录 | 立即注册

    QQ|手机版|精益人 ( 沪ICP备19004111号-1 )|网站地图

    GMT+8, 2024-12-22 18:44 , Processed in 0.513423 second(s), 23 queries .

    Powered by Lean.ren X3.5 Licensed  © 2001-2030 LEAN.REN