作者MayKA ()
看板Office
标题Re: [问题] vba捞取指定工作表
时间Wed Dec 7 12:22:07 2022
调整後内容如图
但执行结果变成把每个档案中
第一个出现Sheet的指定范围,重复贴上好几次
其他sheet内容并未复制贴入
想询问应如何调整写法
谢谢
https://i.imgur.com/BAbSdSG.jpg
https://i.imgur.com/Tc508uD.jpg
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 223.137.59.86 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1670386929.A.668.html
1F:→ newacc: 跟上一篇推文相同,你没有用到sht,也没有设定谁要active 12/07 12:50
2F:→ newacc: 所以只会一直对一开始active的工作表进行操作 12/07 12:51
3F:→ newacc: 我建议跨工作表/档案的状况下,直接针对目标赋值就好 12/07 12:52
4F:→ newacc: 也建议不要直接使用Range,标上父物件较明确也不容易出错 12/07 12:54
5F:→ newacc: tgtWb.Worksheets([name]).Range([xxx])= 12/07 12:56
6F:→ newacc: sht.Range([xxx]) 12/07 12:56
7F:→ newacc: 之类的 12/07 12:57
8F:→ MayKA: 所以即使在end if後面写next sht,也不会自动让下一个工作 12/07 13:27
9F:→ MayKA: 表是activesheet,然後判断A14格是否为1? 12/07 13:27
10F:→ newacc: 不会,Next sht只是让excel知道该让sht指向下一个工作表 12/07 14:16
11F:→ newacc: 简单的修正就是在回圈最一开始加上sht.Activate 12/07 14:16
12F:→ MayKA: 感谢N大的建议,加那句後就执行成功了! 12/07 18:12