|
- Sub test()
- Dim r%, i%
- Dim arr, brr
- Dim d As Object
- Set d1 = CreateObject("scripting.dictionary")
- Set d2 = CreateObject("scripting.dictionary")
- With Worksheets("sheet2")
- r = .Cells(.Rows.Count, 2).End(xlUp).Row
- c = .Cells(1, .Columns.Count).End(xlToLeft).Column
- arr = .Range("b1").Resize(r, c - 1)
- For i = 2 To UBound(arr)
- xm = arr(i, 1) & "+" & arr(i, 3)
- If Len(xm) <> 0 Then
- d1(xm) = i
- End If
- Next
- For j = 4 To UBound(arr, 2)
- d2(arr(1, j)) = j
- Next
- End With
- With Worksheets("sheet1")
- r = .Range("a1").End(xlDown).Row
- brr = .Range("a1:q" & r)
- For j = 2 To UBound(brr, 2)
- If Len(brr(1, j)) <> 0 Then
- rq = brr(1, j)
- End If
- If d2.exists(rq) Then
- n = d2(rq)
- For i = 3 To UBound(brr)
- If Len(brr(i, j)) <> 0 Then
- xx = Split(brr(i, j), vbLf)
- xm = xx(1) & "+" & xx(0)
- If d1.exists(xm) Then
- m = d1(xm)
- arr(m, n) = brr(i, 1)
- End If
- End If
- Next
- End If
- Next
- End With
- With Worksheets("sheet2")
- .Range("b1").Resize(UBound(arr), UBound(arr, 2)) = arr
- End With
- End Sub
复制代码 |
评分
-
1
查看全部评分
-
|