|
考虑到名字中的空格去掉,代码如下。- Sub grf()
- Set d = CreateObject("scripting.dictionary")
- arr = Sheet2.[a1].CurrentRegion
- brr = Sheet3.[a1].CurrentRegion
- ReDim crr(1 To UBound(arr) + UBound(brr), 1 To UBound(arr, 2) + UBound(brr, 2))
-
- crr(1, 1) = "姓名"
- For i = 2 To UBound(arr, 2)
- crr(1, i) = Sheet2.Name & "-" & arr(1, i)
- Next
- For j = 2 To UBound(brr, 2)
- crr(1, i + j - 2) = Sheet3.Name & "-" & brr(1, j)
- Next
-
- For i = 2 To UBound(arr)
- crr(i, 1) = Replace(arr(i, 1), " ", "")
- d(crr(i, 1)) = i
- For j = 2 To UBound(arr, 2)
- crr(i, j) = arr(i, j)
- Next
- Next
-
- For k = 2 To UBound(brr)
- x = Replace(brr(k, 1), " ", "")
- If d.exists(x) Then p = d(x) Else p = i: i = i + 1
- crr(p, 1) = x
- For jj = 2 To UBound(brr, 2)
- crr(p, j + jj - 2) = brr(k, jj)
- Next
- Next
-
- [a1].Resize(i, j + jj - 2) = crr
- End Sub
复制代码 |
|