|
- Sub test()
- Dim r%, i%
- Dim arr, brr
- Dim d As Object
- Set d = CreateObject("scripting.dictionary")
- vs = [{29,34,19;36,39,15;44,47,16}]
- With Worksheets("消耗分析")
- For k = 1 To UBound(vs)
- r = .Cells(.Rows.Count, vs(k, 1)).End(xlUp).Row
- c = .Cells(3, vs(k, 1) + 1).End(xlToRight).Column
- arr = .Range(.Cells(4, vs(k, 1)), .Cells(r, c))
- For i = 1 To UBound(arr)
- rq = CDate(arr(i, 1))
- If Len(rq) <> 0 Then
- If Not d.exists(rq) Then
- ReDim brr(1 To UBound(vs))
- Else
- brr = d(rq)
- End If
- brr(k) = arr(i, vs(k, 2) - vs(k, 1) + 1)
- d(rq) = brr
- End If
- Next
- Next
- r = .Cells(4, 1).End(xlDown).Row
- arr = .Range("a4:z" & r)
- For i = 1 To UBound(arr)
- If d.exists(arr(i, 1)) Then
- brr = d(arr(i, 1))
- For j = 1 To UBound(brr)
- arr(i, vs(j, 3)) = brr(j)
- Next
- End If
- Next
- .Range("a4:z" & r) = arr
- End With
- End Sub
复制代码 |
评分
-
1
查看全部评分
-
|