作者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/cn.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