|
Sub 按钮1_Click()
arr = Sheets("原表").UsedRange
Set d = CreateObject("scripting.dictionary")
Set dnm = CreateObject("scripting.dictionary")
For i = 5 To 6
For j = 2 To UBound(arr)
If Len(arr(j, i)) > 0 Then
str1 = Replace(arr(j, i), ";", ";")
str1 = Replace(str1, ":", ":")
brr = Split(str1, ";")
For Each x In brr
If Len(x) > 0 Then
crr = Split(":" & x, ":")
If UBound(crr) = 2 Then
dnm(crr(1)) = ""
k = j & crr(1)
If d.exists(k) Then
d(k) = d(k) & "," & crr(2)
Else
d(k) = crr(2)
End If
Else
d(j & "") = crr(1)
End If
End If
Next x
End If
Next j
Next i
dnm("") = ""
arr = Sheets("原表").[a1].Resize(UBound(arr), 4 + dnm.Count)
For c = 0 To dnm.Count - 1
x = dnm.keys()(c)
i = 5 + c
arr(1, i) = x
For j = 2 To UBound(arr)
If d.exists(j & x) Then
arr(j, i) = d(j & x)
Else
arr(j, i) = ""
End If
Next j
Next c
Sheets("结果").[a1].Resize(UBound(arr), UBound(arr, 2)) = arr
End Sub
|
|