|
Sub 练习2() '雄鹰2017.10.12
Dim arr, brr(1 To 100, 1 To 6), z
Set d = CreateObject("scripting.dictionary")
Sheets("基准价格").Activate
arr = Sheets("采购价").[a1].CurrentRegion
For i = 3 To UBound(arr)
If Not d.exists(arr(i, 2)) Then
d(arr(i, 2)) = i
Else
d(arr(i, 2) & " ") = d(arr(i, 2) & " ") & "," & i
End If
Next i
For i = 3 To [a65536].End(3).Row
If d.exists(Trim(Cells(i, 2))) Then
n = n + 1
x = d(Trim(Cells(i, 2)))
For j = 1 To UBound(arr, 2)
brr(n, j) = arr(x, j)
Next j
d.Remove (Trim(Cells(i, 2)))
End If
Next i
n = n + 1
For Each k In d.keys
If InStr(d(k), ",") Then
ar = Split(d(k), ",")
For ii = 1 To UBound(ar)
x = ar(ii)
n = n + 1
For j = 1 To UBound(arr, 2)
brr(n, j) = arr(x, j)
Next j
Next ii
Else
x = d(k)
n = n + 1
For j = 1 To UBound(arr, 2)
brr(n, j) = arr(x, j)
Next j
End If
Next k
[g15].Resize(n, UBound(arr, 2)) = brr
End Sub
|
|