2013-05-15 2 views
0

все подсказки, которые я нахожу в отношении функций поиска в vba-excel, относятся к одной и той же книге. Тем не менее, после активации другой книги, как в этом фрагменте кодаНайти метод excel vba в активированной книге

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

результат не всегда Найдено ничего, = True хотя LookedFor.Text присутствует в этой книге. Кто-нибудь знает, есть ли специальные правила после переключения на другую книгу?

Большое спасибо DevEd

ответ

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 

как он избегает выбора

+0

Спасибо, прекрасно. Я думал, я был близок к решению, но мне показалось нелогичным, что поиск работал на листах в одной книге, но не на чужом. – Martin

Смежные вопросы