|
本帖最后由 dongqing1998 于 2012-7-8 13:06 编辑
- Sub bcfz()
- Dim i&, Myr&, Arr, brr()
- Dim d, k, t, Sht As Worksheet
- Set d = CreateObject("Scripting.Dictionary")
- For Each Sht In Sheets
- If Sht.Name <> "Sheet4" Then
- Myr = Sht.[a65536].End(xlUp).Row
- Arr = Sht.Range("a2:c" & Myr)
- For i = 1 To UBound(Arr)
- d(Arr(i, 1)) = Arr(i, 2) & "," & Arr(i, 3)
- Next
- End If
- Next
- k = d.keys
- ReDim Preserve brr(0 To d.Count, 1 To 3)
- brr(0, 1) = "姓名": brr(0, 2) = "学号": brr(0, 3) = "分数"
- For i = 1 To d.Count
- brr(i, 1) = k(i - 1)
- brr(i, 2) = Split(d(k(i - 1)), ",")(0)
- brr(i, 3) = Split(d(k(i - 1)), ",")(1)
- Next
- Sheet4.[a3].Resize(d.Count + 1, 3) = brr
- Set d = Nothing
- End Sub
复制代码 上面是根据你的代码修改的。
PS:因为你每个姓名对应的B、C两列数据并不完全统一,所以得到的结果只是你最后一次出现的
|
|