|
Sub 字典数组法装置()
Dim arr, brr()
Set d = CreateObject("scripting.dictionary")
arr = Range("b3:d" & Range("b" & Rows.Count).End(xlUp).Row)
For i = 1 To UBound(arr)
If Not d.Exists(arr(i, 1)) Then '字典里存在的时候
ReDim brr(1 To 1, 1 To 1)
brr(1, 1) = arr(i, 3)
d(arr(i, 1)) = brr
Else
brr = d(arr(i, 1))
xb = UBound(brr, 2) + 1
ReDim Preserve brr(1 To 1, 1 To xb)
brr(1, xb) = arr(i, 3)
d(arr(i, 1)) = brr
End If
Next i
If d.Count Then
For Each ky In d.keys
For Each r In Range("b3:b" & Range("B" & Rows.Count).End(xlUp).Row)
If ky = r.Value Then
r.Offset(0, 4) = ky
drr = d(ky)
r.Offset(0, 5).Resize(1, UBound(drr, 2)) = drr
Exit For
End If
Next r
Next ky
End If
End Sub |
|