|
- Sub try1()
- Dim d As Object, arr, brr, x As Byte, y As Byte, n As Byte, u As Byte
- Set d = CreateObject("scripting.dictionary")
- Sheets("匯總").UsedRange.Offset(4, 1).ClearContents
- u = Worksheets.Count
- brr = Sheets("匯總").Range("a1").CurrentRegion
- For n = 1 To u
- arr = Sheets(n).Range("a1").CurrentRegion
- For y = 3 To UBound(arr, 2)
- For x = 5 To UBound(arr)
- If u <> n Then
- Select Case y
- Case 3 To 5, 8 To 10
- d(arr(3, y) & arr(x, 1)) = d(arr(3, y) & arr(x, 1)) + arr(x, y)
- End Select
- End If
- If n = u And y <> 6 Or y <> 11 Then brr(x, y) = d(arr(3, y) & arr(x, 1))
- If n = u And y = 6 Or y = 11 Then brr(x, y) = brr(x, y - 3) + brr(x, y - 2) + brr(x, y - 1)
- Next
- Next
- Next
- Sheets("匯總").UsedRange.Offset(4, 1).ClearContents
- Sheets("匯總").[a1].Resize(UBound(arr), UBound(arr, 2)) = brr
- End Sub
复制代码
好久没用字典了,不知道做得对不对,我这样写汇总的表格要有编号才能汇总 |
评分
-
查看全部评分
|