繁体   English   中英

当Cells.Find作为代码执行时,VBA遍历工作表失败

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM