- Sub Macro1()
- Dim arr, brr, crr, d, i&, j%, k%, s&, n%
- Set d = CreateObject("scripting.dictionary")
- arr = [a1:j1]
- ReDim brr(1 To 60000, 1 To UBound(arr, 2))
- For j = 1 To UBound(arr, 2)
- d(arr(1, j)) = j
- Next
- For j = 1 To 3
- crr = Sheets(j).Range("a1").CurrentRegion
- For i = 2 To UBound(crr)
- s = s + 1
- For k = 1 To UBound(crr, 2)
- If d.exists(crr(1, k)) Then
- n = d(crr(1, k))
- brr(s, n) = crr(i, k)
- End If
- Next
- Next
- Next
- Range("a2").Resize(s, UBound(brr, 2)) = brr
- End Sub
复制代码 |