- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
回復 52# 198188
如圖操作可方便他人複製程式碼
簡化你的程式碼- Option Explicit
- Sub Ex()
- Dim Rng(1 To 2) As Range, Files_AR(), E As Variant
- Files_AR = Array("Connie.XLSX", "Lily.XLSX", "Jane.XLSX", "Jenny.XLSX")
- '檔案名稱置入陣列:簡化程式的書寫
- With Workbooks("payment.XLSM").Sheets("2012")
- .Range("A2:L65536").ClearContents
- .Range("A2:L65536").Interior.Color = xlNone
- .Range("A1").CurrentRegion.Offset(1) = "" '清除A1連續範圍Offset(1):第一列以後連續範圍資料
- For Each E In Files_AR '迴圈取同一資料夾的檔案
- Set Rng(1) = .Range("E" & .Rows.Count).End(xlUp).Offset(1) 'Offset(2)=> 本身算起如是E1-> E3
- With Workbooks.Open("C:\Documents and Settings\USER\桌面\" & E).Sheets("SHEET1")
- Set Rng(2) = .[A2:L2]
- Set Rng(2) = Rng(2).Resize(.Range("E" & .Rows.Count).End(xlUp).Row - 1)
- Rng(2).Copy Rng(1).Cells(1, -3)
- .Parent.Close False
- End With
- Next
- End With
- End Sub
複製代碼 |
|