- 帖子
- 129
- 主題
- 25
- 精華
- 0
- 積分
- 159
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2011-12-24
- 最後登錄
- 2022-12-12
|
回復 1# kasl
我貼之前來這發問的範例,您再改改看
不同檔案間的複製
Sub ex()
Dim Ar(), fd$, fs$, s%
fd = "D:\10月\" '更改成你的10月資料夾目錄 *****這邊你就改你想開的檔案的資料夾目錄
fs = Dir(fd & "*.xls")
Do Until fs = ""
With Workbooks.Open(fd & fs)
With .Sheets("模製")
ReDim Preserve Ar(s)
Ar(s) = Array(.[AP7].Value, .[AP10].Value, .[AP12].Value, .[G7].Value, .[G12].Value)
s = s + 1
End With
.Close 0
End With
fs = Dir
Loop
[A2].Resize(s, 5).Value = Application.Transpose(Application.Transpose(Ar))
End Sub
我想重點在
With Workbooks.Open(fd & fs)
fd是設資料夾目錄 (例如 C:\test\abc --->C槽裡,test資料夾裡,abc資料夾)
fs是設檔名+.xls (例如 001.xls)
那fd&fs就會是C:\test\abc\001.xls
然後With Workbooks.Open(fd & fs)就變成With Workbooks.Open(C:\test\abc\001.xls)
就會去開001.xls檔了
With .Sheets("模製")的功能是讓你使用該工作表
所以你可以改寫成With .Sheets(" ") 兩個"中間放入你的工作表的名字
然後再去讀資料,複製到現用的檔案裡面的某一個工作表(sheet)中的陣列
這邊我就不太會了,不好意思,我也是新手
希望對你有一點幫助 |
|