|
发表于 2011-11-18 22:07
|
显示全部楼层
本楼为最佳答案
本帖最后由 mxg825 于 2011-11-18 22:09 编辑
- Sub testMXG825()
- Dim arr, brr()
- Dim i As Integer, K As Integer, Icol As Integer
- Dim arrData As Variant
- Set D = CreateObject("Scripting.Dictionary")
- Dim T As Date, T1 As Date
- T = Sheets("信息表").Range("h2") '开始日期
- T1 = Sheets("信息表").Range("j2") '结束日期
- With Sheets("高炉铁水整理")
- arr = .Range("c2:k" & .[c65536].End(3).Row)
- End With
- For i = 1 To UBound(arr)
- If arr(i, 1) >= T And arr(i, 1) <= T1 Then
- If D.Exists(arr(i, 1)) Then
- Icol = D(arr(i, 1))
- brr(2, Icol) = brr(2, Icol) + arr(i, 3)
- If arr(i, 8) > 35 Then brr(3, Icol) = brr(3, Icol) + arr(i, 3)
- If arr(i, 5) > 35 Then brr(4, Icol) = brr(4, Icol) + arr(i, 3)
- Else
- K = K + 1
- D(arr(i, 1)) = K
- ReDim Preserve brr(1 To 4, 1 To K)
- brr(1, K) = arr(i, 1)
- brr(2, K) = arr(i, 3)
- If arr(i, 8) > 35 Then brr(3, K) = arr(i, 3)
- If arr(i, 5) > 35 Then brr(4, K) = arr(i, 3)
- End If
- End If
- Next
- With Sheets("信息表")
- .[k5:s65536].ClearContents
- .[k5].Resize(K, 4) = Application.Transpose(brr)
- End With
- Set D = Nothing
- End Sub
复制代码
|
|