wuxingai 发表于 2011-12-22 08:06
arr2(8, n)表示第8列的数据,你现在在第8列增加新列,则将原
arr2(8, n)更改为arr2(9,n), arr2(9,n)更 ... - Sub cc()
- Dim arr1, arr2(), r%, i%, n%, j%, m%
- r = Sheets("汇总表").Range("A65536").End(xlUp).Row
- arr1 = Sheets("汇总表").Range("A5:U" & r)
- ReDim arr2(1 To 13, 1 To 1)
- For i = 1 To UBound(arr1)
- If IsError(Application.Match(arr1(i, 1), Application.Index(arr2, 1), 0)) Then
- n = n + 1
- ReDim Preserve arr2(1 To 13, 1 To n)
- For j = 1 To 7
- arr2(j, n) = arr1(i, j)
- Next j
- arr2(9, n) = arr1(i, 9)
- arr2(10, n) = arr1(i, 15)
- arr2(11, n) = (arr2(9, n) - arr2(10, n)) * arr2(6, n)
- arr2(12, n) = arr1(i, 21)
- arr2(13, n) = (arr2(10, n) - arr2(12, n)) * arr2(6, n)
- Else
- m = Application.Match(arr1(i, 1), Application.Index(arr2, 1), 0)
- arr2(9, m) = arr2(9, m) + arr1(i, 9)
- arr2(10, m) = arr2(10, m) + arr1(i, 15)
- arr2(11, m) = (arr2(9, m) - arr2(10, m)) * arr2(6, m)
- arr2(12, m) = arr2(12, m) + arr1(i, 21)
- arr2(13, m) = (arr2(10, m) - arr2(12, m)) * arr2(6, m)
- End If
- Next i
- Sheets("统计表").Range("A4:L65536").ClearContents
- Sheets("统计表").Range("A4").Resize(n, 13) = Application.Transpose(arr2)
- End Sub
复制代码
|