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