0

我在 vba-excel 中找到的有关搜索功能的所有提示都指的是同一个工作簿。但是,在激活另一个工作簿后,就像在这段代码中一样

aDifferentWorkbook.Activate
Set Found = Cells.Find(What:=LookedFor.Text, LookIn:=xlValues, LookAt:=xlWhole)

尽管此工作簿中存在 LookedFor.Text,但结果始终为 Found Is Nothing = True。有谁知道切换到不同的工作簿后是否有特殊规则?

非常感谢 DevEd

4

1 回答 1

2

您需要在该工作簿中实际选择一个工作表:

aDifferentWorkbook.Activate 'optional
aDifferentWorkbook.Sheets(1).Select
Set Found = Cells.Find(What:=LookedFor.Text, LookIn:=xlValues, LookAt:=xlWhole)

然后选择下一张纸,依此类推。

稍微可爱一点的代码是

  Dim ws As Excel.Worksheet
    For Each ws In aDifferentWorkbook.Worksheets
        Set Found = ws.Cells.Find(What:=LookedFor.Text, LookIn:=xlValues, LookAt:=xlWhole)
    Next ws

因为它避免了任何选择

于 2013-05-15T12:56:21.470 回答