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

作者: newacc (XD)   2023-04-28 16:09:24
往可能的方向調整,沒有經過測試
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
作者: newacc (XD)   2023-04-28 16:10:00
補充一下,如果可以的話限定搜尋的範圍會比較好在每一個活頁簿的每一個工作表裡的每個格子搜尋很耗資源但因為不知道你的原始資料格式,沒辦法幫你限縮

Links booklink

Contact Us: admin [ a t ] ucptt.com