|
有点小问题,修改了一下:
Sub aaa()
Dim arr, brr, crr, d As Object, r&
Set d = CreateObject("scripting.dictionary")
arr = [a1].CurrentRegion
ReDim brr(1 To UBound(arr), 1 To 3)
For i = 1 To UBound(arr)
crr = Split(arr(i, 1), "[")
If Not d.exists(crr(0)) Then
r = r + 1
d(crr(0)) = r
brr(r, 1) = crr(0)
End If
If UBound(crr) > 0 Then
If brr(d(crr(0)), 2) = "" Then brr(d(crr(0)), 2) = Val(crr(1))
If brr(d(crr(0)), 2) > Val(crr(1)) Then brr(d(crr(0)), 2) = Val(crr(1))
If brr(d(crr(0)), 3) < Val(crr(1)) Then brr(d(crr(0)), 3) = Val(crr(1))
End If
Next i
For i = 1 To r
If brr(i, 3) <> "" Then brr(i, 1) = "[" & brr(i, 3) & ":" & brr(i, 2) & "] " & brr(i, 1)
Next i
[f1].Resize(r) = brr
End Sub |
|