- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
6#
發表於 2014-2-27 11:51
| 只看該作者
回復 5# Hsieh - Option Explicit
- '將50個檔案資料寫入陣列再一次貼到檔案B
- Sub Ex()
- Dim Wb(1 To 2) As Workbook, AR(), S As Integer, E As Range
- Set Wb(1) = Workbooks("檔案B") '更正為檔案B的名稱
- For Each Wb(2) In Workbooks '50個檔案已開啟 含 檔案B
- If Wb(2).Name <> Wb(1).Name Then
- For Each E In Wb(2).Sheets(1).[A1:C20].Rows
- ReDim Preserve AR(1 To 4, 0 To S)
- AR(1, S) = E.Cells(1)
- AR(2, S) = E.Cells(2)
- AR(3, S) = E.Cells(3)
- AR(4, S) = Date
- S = S + 1
- Next
- End If
- Next
- With Wb(1).Sheets(1).[a1] '檔案B
- .CurrentRegion = ""
- .Resize(S, 4) = Application.WorksheetFunction.Transpose(AR)
- End With
- End Sub
複製代碼 |
|