[英]VBA Looping through Worksheets fails when Cells.Find is performed as code
Sub Macro1()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
Cells.Find(What:="abc", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate
ActiveCell.Value = "xyz"
Next ws
End Sub
我在Excel工作簿中的所有工作表中循环使用以下代码。 我想在工作表中查找“ abc”。 如果在特定的工作表上找到“ abc”,我希望将其下面的单元格的值设置为“ xyz”。 例如,如果在工作表1的单元格A2上找到“ abc”,我希望单元格A3为“ xyz”。 同样,如果在Worksheet2的单元格B4上找到“ abc”,我希望单元格B5为“ xyz”。 这必须在整个工作簿中完成。 但是,不会遍历整个工作簿,并且代码只会遍历worksheet1。
For Each ws In ActiveWorkbook.Worksheets
ws.Activate
Cells.Find(What:="abc", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate
ActiveCell.Value = "xyz"
Next ws
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.