|
- Sub 汇总()
- dh = "①②③④⑤⑥⑦⑧⑨⑩⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇" '单号,如有增加请自行添加
- Dim sh As Worksheet
- Set d = CreateObject("scripting.dictionary")
- Dim brr(1 To 100, 1 To 6)
- For k = 2 To Sheets.Count
- Set sh = Sheets(k)
- r = sh.[c65536].End(3).Row
- xdh = Mid(dh, k - 1, 1)
- If r >= 13 Then
- arr = sh.Range("c13:f" & r)
- For i = 1 To UBound(arr)
- x = arr(i, 1)
- If Not d.exists(x) Then
- n = n + 1: d(x) = n
- brr(n, 1) = n
- For j = 2 To 5: brr(n, j) = arr(i, j - 1): Next
- brr(n, 6) = xdh
- Else
- p = d(x)
- brr(p, 4) = brr(p, 4) & "+" & arr(i, 3)
- brr(p, 5) = brr(p, 5) + arr(i, 4)
- If InStr(brr(p, 6), xdh) = 0 Then brr(p, 6) = brr(p, 6) & xdh
- End If
- Next
- End If
- Next
- If n > 0 Then [a10].Resize(n, 6) = brr
- End Sub
复制代码 |
|