|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
- Sub test0()
-
- Dim strFullName As String
-
- strFullName = ThisWorkbook.Path & "\初始数据.xlsx"
- If Dir(strFullName) = "" Then MsgBox "!?", 64: Exit Sub
-
- Application.ScreenUpdating = False
-
- Dim ar(1 To 1000, 1 To 4), br
- Dim i As Long, j As Long, k As Long, cnt As Long
-
- With Workbooks.Open(strFullName, 0)
- br = .Worksheets(1).Range("A1").CurrentRegion
- .Close False
- End With
-
- cnt = 1
- For j = 1 To UBound(ar, 2)
- ar(cnt, j) = Split("单位 当天巡检日期 巡检项 巡检项时间")(j - 1)
- Next
-
- For i = 2 To UBound(br)
- ar(cnt + 1, 1) = br(i, 43)
- ar(cnt + 1, 2) = br(i, 42)
- For j = 5 To UBound(br, 2) - 2
- If Right(br(1, j), 2) = "时间" Then
- If Right(br(1, j + 1), 3) = "巡检项" Then
- cnt = cnt + 1
- ar(cnt, 3) = br(i, j + 1)
- ar(cnt, 4) = br(i, j)
- End If
- End If
- Next
- Next
-
- With Range("A1")
- .CurrentRegion.Clear
- .Resize(cnt, UBound(ar, 2)) = ar
- For i = cnt To 2 Step -1
- k = k + 1
- If Len(ar(i, 1)) Then
- For j = 0 To 1
- .Offset(i - 1, j).Resize(k).Merge
- Next
- k = 0
- End If
- Next
- .CurrentRegion.Borders.LineStyle = xlContinuous
- End With
-
- Application.ScreenUpdating = True
- Beep
- End Sub
复制代码 |
|