作者shezion (= =)
看板Office
標題[算表] 不固定列資料複製貼上至不同檔案
時間Thu Jul 13 09:41:36 2017
軟體:excel
版本:2013
想請各位大大幫忙看看以下案例如何縮短VN指令碼
目前我有兩筆excel檔案,一筆名為"PACK",一筆為現正開啟中檔案"A",
我想要將PACK中固定範圍分別依序複製貼到目前開啟中檔案的各個工作表
中,因為每次"PACK"的資料筆數不固定但不會超過50筆,而"A"的工作表數
也是不固定的,但會和"PACK"的資料筆數相同。因為我是新手所以目前只能
土法煉鋼,不管有幾筆資料要截取,都讓它抓50筆試試看。
EX:
Sub 複製貼上()
s = ThisWorkbook.Name
Filename = "X:\PACK.xls"
Workbooks.Open Filename
Workbooks("PACK").Worksheets("工作表1").Range("A4:J5").Copy _
Destination:=Workbooks(s).Sheets(1).[A8]
Workbooks("PACK").Worksheets("工作表1").Range("A6:J7").Copy _
Destination:=Workbooks(s).Sheets(2).[A8]
.
.
.
Workbooks("PACK").Worksheets("工作表1").Range("A82:J83").Copy _
Destination:=Workbooks(s).Sheets(40).[A8]
這樣跑的過程會出現"執行階段錯誤、陣列索引超出範圍"的錯誤訊息,雖然
需要截取的資料仍能順利抓到,但因為指令只會執行到實際有資料的筆數,
所以在後面的有些調整格式指令就通通都不會執行下去。
--
桃
~● ╱
. ◢██◣ 探猶 俺
園 ╱ ╱
█ ◥▋ 主公!救我!
囊如 中在
實 畫
. . + ╱ ╱ ╱
◣◤□︵□▋ /
取 取百
至 家
◆●●●
Φ▃▃▃▃▃●█◤
◥\ ▆_◤▃●~▃▃▃▃¢ 物 敵萬
名
. . . . ◥\ ◤
█◤ ╱ ╱
~● 之軍
歸
ψfishhzy123 . . ▆▆◤ ╱
crabwind改 洨
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.249.160.220
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1499910108.A.FAF.html
1F:→ soyoso: 縮短上想到是以迴圈,範圍偏移上則以range.offset 07/13 10:09
2F:→ soyoso: 如資料筆數是以工作表"PACK"的最後有資料的列號決定的話 07/13 10:11
3F:→ soyoso: 可以range.find或range.end來取得該儲存格,回傳列號則加 07/13 10:13
4F:→ soyoso: 如要取得工作表數量的話以worksheets.count或sheets.count 07/13 10:17
5F:→ shezion: 感謝SOYOSO大,可以再請問一下這樣的迴圈要怎麼寫? 07/13 10:49
6F:→ soyoso: 應可以for..next,終止值可以回文所取得的列號或是工作表 07/13 10:51
7F:→ soyoso: 數量 07/13 10:51
8F:→ soyoso: 迴圈的變數則用於工作表1範圍的偏移和活頁簿s內工作表的索 07/13 10:56
9F:→ soyoso: 引值 07/13 10:56
10F:→ shezion: 哦哦 謝SO大 馬上來試試 07/13 11:57