|
发表于 2012-12-26 23:12
|
显示全部楼层
本楼为最佳答案
本帖最后由 suye1010 于 2012-12-26 23:47 编辑
- Option Explicit
- Sub Summary()
- Dim d, arr, TempArr, i As Integer, j As Integer, Hospital
- Set d = CreateObject("Scripting.Dictionary")
- arr = Range("A1").CurrentRegion ’这里把整个工作表包含数据的区域都赋值给数组
- For i = 2 To UBound(arr)
- If d.exists(arr(i, 1)) Then
- TempArr = d(arr(i, 1))'这里1改为你的医院名称所在列对应列数
- TempArr(1) = TempArr(1) + arr(i, 2)
- '这里2改为医疗费用所在列对应列数
- TempArr(2) = TempArr(2) + arr(i, 3)
- '这里1改为报销数额所在列对应列数
- TempArr(3) = TempArr(3) + 1
- d(arr(i, 1)) = TempArr
- Else
- ReDim TempArr(1 To 3)
- TempArr(1) = arr(i, 2)
- TempArr(2) = arr(i, 3)
- TempArr(3) = 1
- d.Add arr(i, 1), TempArr
- End If
- Erase TempArr
- Next i
- j = 2
- For Each Hospital In d.keys
- Cells(j, "H") = Hospital ' 这里的H改为你打算放统计数据的列标签,以下类似
- Cells(j, "I").Resize(1, 3) = d(Hospital)
- j = j + 1
- Next
- End Sub
复制代码 |
|