Re: [算表] VBA ㄧ次修改多個開啟檔案內容

看板Office作者 (XD)時間10月前 (2023/04/28 16:09), 編輯推噓0(003)
留言3則, 1人參與, 10月前最新討論串2/2 (看更多)
往可能的方向調整,沒有經過測試 2個假設: 1.每個活頁簿需要調整的工作表不只1個 2.每個工作表需要調整的格子不只1個 Dim wb as workbook Dim ABC as range Dim firstAddr as String '依序在已開啟的活頁簿裡執行 For Each wb in Application.Workbooks '依序在wb裡的每一工作表裡執行 For Each ws in wb '先試圖找第一筆資料 Set ABC = ws.Cells.Find( What:="HHH", _ LookIn:=xlFormulas2, _ LookAt:=xlPart, _ SearchOrder: =xlByRows, _ SearchDirection: xlNext, _ MatchCase: =False, _ SearchFormat: =False ) '確認有找到資料 If Not ABC Is Nothing Then '紀錄第一筆的位址 firstAddr = ABC.Address '重複操作直到重新找到第一筆資料 Do ABC.Offset(, 1).FormulaR1C1 = "000" Set ABC = ws.Cells.FindNext(ABC) Loop While ABC.Address <> firstAddr End If Next ws Next wb -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.174.17.157 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1682669366.A.F14.html

04/28 16:10, 10月前 , 1F
補充一下,如果可以的話限定搜尋的範圍會比較好
04/28 16:10, 1F

04/28 16:10, 10月前 , 2F
在每一個活頁簿的每一個工作表裡的每個格子搜尋很耗資源
04/28 16:10, 2F

04/28 16:11, 10月前 , 3F
但因為不知道你的原始資料格式,沒辦法幫你限縮
04/28 16:11, 3F
文章代碼(AID): #1aItysyK (Office)
文章代碼(AID): #1aItysyK (Office)