|
发表于 2012-1-14 11:27
|
显示全部楼层
本楼为最佳答案
本帖最后由 sunjing-zxl 于 2012-1-14 11:29 编辑
- Sub bbb()
- Dim arr33(1 To 31, 1 To 5)
- Dim a As String
- Dim arr, arr1, arr3
- Dim Row1 As Long, Row3 As Long, i As Long, j As Long
- With Sheets("A")
- Row1 = .Range("A65536").End(xlUp).Row
- arr1 = .Range("A2:D" & Row1)
- End With
- With Sheets("C")
- Row3 = .Range("A65536").End(xlUp).Row
- arr3 = .Range("A3:A" & Row3)
- a = "甲乙丙丁"
- For i = 1 To UBound(arr3)
- For J1 = 1 To UBound(arr1)
- If arr1(J1, 3) > 0 Then
- If arr1(J1, 1) = arr3(i, 1) Then
- arr33(arr1(J1, 1), InStr(a, arr1(J1, 4))) = arr33(arr1(J1, 1), InStr(a, arr1(J1, 4))) + arr1(J1, 2)
- arr33(arr1(J1, 1), 5) = arr33(arr1(J1, 1), 5) + arr1(J1, 2)
- End If
- End If
- Next J1
- Next i
- arr = arr33
- ReDim arr1(1 To UBound(arr), 1 To 5)
- For i = 1 To UBound(arr)
- For j = 1 To 5
- If i = 1 Then
- arr1(i, j) = arr(i, j)
- Else
- arr1(i, j) = arr(i, j) + arr1(i - 1, j)
- End If
- Next j
- Next i
- Range("G3").Resize(31, 5).ClearContents
- Range("G3").Resize(UBound(arr1), 5) = arr1
- End With
- End Sub
-
-
-
复制代码 附件:
根据条件汇总求和和累计-sunjing.rar
(34.12 KB, 下载次数: 6)
|
|