|
发表于 2016-6-25 23:27
|
显示全部楼层
本楼为最佳答案
- Sub xx()
- Dim arr, brr, dA, dB, i&, j&, n&
- With Sheet1
- n = .Cells(.Rows.Count, 1).End(xlUp).Row
- arr = .Range("a2:E" & n)
- Set dA = CreateObject("Scripting.Dictionary")
- Set dB = CreateObject("Scripting.Dictionary")
- For i = 1 To n - 1
- If Weekday(arr(i, 2), 2) < 6 Then
- If dA.Exists(arr(i, 1)) Then
- dA(arr(i, 1)) = dA(arr(i, 1)) + arr(i, 3)
- dB(arr(i, 1)) = dB(arr(i, 1)) + IIf(arr(i, 5) = "", 0, arr(i, 5))
- Else
- dA.Add arr(i, 1), arr(i, 3)
- dB.Add arr(i, 1), IIf(arr(i, 5) = "", 0, arr(i, 5))
- End If
-
- End If
- Next
- x = 1
- For Each k In dA.keys
- x = x + 1
- .Cells(x, 10) = k
- .Cells(x, 11) = dA(k)
- .Cells(x, 12) = dB(k)
- Next
- End With
- End Sub
复制代码 |
|