- 帖子
- 234
- 主題
- 19
- 精華
- 0
- 積分
- 276
- 點名
- 0
- 作業系統
- Windows XP
- 軟體版本
- office 2003
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2013-1-7
- 最後登錄
- 2021-10-7
|
4#
發表於 2021-2-19 10:52
| 只看該作者
回復 1# mdr0465
因為資料的欄位不一致,只能用比對的
Sub ex()
Dim arr As Variant
Dim x%, y%, b%, a As Object
ReDim arr(Sheets.Count - 2, Sheets("summary").[a1].End(2).Column)
For x = 2 To Sheets.Count
arr(x - 2, 0) = x - 1
arr(x - 2, 1) = Sheets(x).Name
For Each a In Sheets("SUMMARY").Range([c1], [c1].End(2))
For b = 1 To 3 Step 2
For y = 1 To Sheets(x).Cells(65535, b).End(3).Row
If Left(Sheets(x).Cells(y, b), Len(a)) = a Then
arr(x - 2, a.Column - 1) = Sheets(x).Cells(y, b).Offset(, 1).Value
GoTo line1
End If
Next
Next
line1:
Next
Next
Sheets("SUMMARY").[a2].Resize(UBound(arr) + 1, UBound(arr, 2)) = arr
End Sub |
|