作者newacc (XD)
看板Office
标题Re: [算表] VBA ㄧ次修改多个开启档案内容
时间Fri Apr 28 16:09:24 2023
往可能的方向调整,没有经过测试
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://webptt.com/cn.aspx?n=bbs/Office/M.1682669366.A.F14.html
1F:→ newacc: 补充一下,如果可以的话限定搜寻的范围会比较好 04/28 16:10
2F:→ newacc: 在每一个活页簿的每一个工作表里的每个格子搜寻很耗资源 04/28 16:10
3F:→ newacc: 但因为不知道你的原始资料格式,没办法帮你限缩 04/28 16:11