|
|
本帖最后由 AVEL 于 2011-12-18 23:05 编辑
-
- Sub yy()
- Dim Arr, i&, Arr1, r1, Arr2
- Dim d As Object, d1 As Object
- Dim j As Integer, m As Integer
- Dim brr(1 To 10000, 1 To 64), crr(1 To 10000, 1 To 64)
- Dim n As Integer
- Dim r As Integer
- Myr = Sheet3.[a65536].End(xlUp).Row
- Arr = Sheet3.Range("a1:bo" & Myr)
- Set d = CreateObject("scripting.dictionary")
- Set d1 = CreateObject("scripting.dictionary")
- For i = 2 To UBound(Arr)
- d(Split(Arr(i, 2), "_")(1)) = i
- d1(Arr(i, 2)) = i
- Next
- Arr1 = Sheet1.[c1].Resize(Sheet1.[c65536].End(3).Row)
- Arr2 = Sheet2.[d1].Resize(Sheet2.[d65536].End(3).Row)
- For i = 2 To UBound(Arr1)
- n = n + 1
- If d.exists(CStr(Arr1(i, 1))) Then
- r = d(CStr(Arr1(i, 1)))
- For j = 4 To Arr(r, 3) + 3
- brr(n, j - 3) = Arr(r, j)
- Next
- End If
- Next
- For i = 2 To UBound(Arr2)
- m = m + 1
- If d1.exists(CStr(Arr2(i, 1))) Then
- r = d1(CStr(Arr2(i, 1)))
- For j = 4 To Arr(r, 3) + 3
- crr(m, j - 3) = Arr(r, j)
- Next
- End If
- Next
- Sheet2.Range("e2").Resize(m, 64).Value = crr
- Sheet1.Range("k2").Resize(n, 64).Value = brr
- Set d = Nothing: Set d1 = Nothing
- End Sub
复制代码 |
评分
-
1
查看全部评分
-
|