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