|
- Sub 导出成绩()
- Dim d, d1, arr, k As Integer, m As Byte, n As Byte, str
- Set d = CreateObject("scripting.dictionary")
- Set d1 = CreateObject("scripting.dictionary")
- arr = Sheets("成绩表").Range("a1").CurrentRegion
- For k = 2 To UBound(arr)
- str = arr(k, 1) & "|" & arr(k, 2) & "|" & arr(k, 3)
- d1(str) = d1(str) + arr(k, 5)
- If Not d.exists(str) Then
- d(str) = arr(k, 4) & "/" & arr(k, 5)
- Else
- d(str) = d(str) & "、" & arr(k, 4) & "/" & arr(k, 5)
- End If
- Next k
- Erase arr
- ReDim Preserve arr(1 To d1.Count, 1 To 5)
- For k = 0 To d.Count - 1
- str = Split(d.keys()(k), "|")
- n = n + 1
- arr(n, 1) = str(0)
- arr(n, 2) = str(1)
- arr(n, 3) = str(2)
- arr(n, 4) = d(d.keys()(k))
- arr(n, 5) = d1(d1.keys()(k))
- Next k
- Sheets("导出成绩").Range("a2").Resize(UBound(arr), 5) = arr
- End Sub
复制代码 |
|