在激活的工作簿中查找excel vba的方法

我发现有关vba-excel中的searchfunction的所有提示都指向相同的工作簿。 但是,在激活另一个工作簿之后,就像在这段代码中一样

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

结果总是发现是Nothing = True,虽然LookedFor.Text存在于此工作簿中。 有谁知道在切换到不同的工作簿后是否有特殊的规则?

非常感谢DevEd

您需要实际select该工作簿中的工作表:

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

然后select下一张表格,依此类推。

稍微cuter代码是

  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 

因为它避免了任何select