- Sub Macro1()
- Dim arr, brr, d, d2, i&
- Set d = CreateObject("scripting.dictionary")
- Set d2 = CreateObject("scripting.dictionary")
- arr = Range("a1").CurrentRegion
- ReDim brr(1 To UBound(arr), 1 To 3)
- w = Array("彩超", "胃镜", "肠镜", "心电", "脑电")
- ww = Array("CT", "化验", "肝功", "生化", "化验委托", "摄片", "透视", "胃肠")
- For i = 0 To UBound(w)
- d2(w(i) & "费") = 2
- Next
- For i = 0 To UBound(ww)
- d2(ww(i) & "费") = 3
- Next
- s = 1: brr(1, 1) = "科室"
- brr(1, 2) = Join(w, "、")
- brr(1, 3) = Join(ww, "、")
- For i = 2 To UBound(arr)
- If d2.exists(arr(i, 2)) Then
- n = d2(arr(i, 2))
- If Not d.exists(arr(i, 1)) Then
- s = s + 1
- d(arr(i, 1)) = s
- brr(s, 1) = arr(i, 1)
- brr(s, n) = arr(i, 3)
- Else
- s2 = d(arr(i, 1))
- brr(s2, n) = brr(s2, n) + arr(i, 3)
- End If
- End If
- Next
- Range("g1").Resize(s, 3) = brr
- End Sub
复制代码 |