2015-03-27 2 views
0

Я хочу выполнить что-то, что, вероятно, довольно просто, но я не могу найти документацию для этого и параметр, который мне нужен.Excel vba fnd функция отсутствует часть

Это в Excel.

У меня есть этот код, прикрепленный к кнопке:

Sub Search_Click() 
    ActiveSheet.Cells.Find What:="asdf", LookAt:=xlWhole 
    Application.CommandBars("Worksheet Menu Bar").FindControl(_ 
    ID:=1849, recursive:=True).Execute 
End Sub 

Этот открытый стандарт функция поиска с «ASDF» для поиска. Я хочу настроить его для поиска в пределах всей рабочей книги, а затем выполнить поиск.

Что я могу добавить для этого. Я совершенно новый, чтобы преуспеть в VB, но у меня есть опыт кодирования в целом.

Спасибо всем, кто может помочь.

ответ

0
ActiveSheet.Cells.Find(What:="asdf", LookAt:=xlWhole) 

Будет ли на самом деле выполнить команду .Find(), она не откроется диалоговое окно Найти и ждать, пока вы что-то сделать. Как я читаю ваш код, что бы сделать

Application.CommandBars("Worksheet Menu Bar").FindControl(_ 
    ID:=1849, recursive:=True).Execute 

линии избыточную

Когда .Find() выполняется, она возвращает диапазон, указывающий на то, что он нашел, поэтому обычный вызов будет что-то вроде:

Dim rng as Range 
set rng = ActiveSheet.Cells.Find(What:="asdf", LookAt:=xlWhole) 
if rng is nothing then 
    'nothing found, handle that here 
else 
    'found it! process appropriately 
end if 
+0

Что я хочу сделать, чтобы открыть диалоговое окно. В любом случае, я могу сделать это с некоторыми предустановленными параметрами? Мой код выше работает и asdf, если он перенесен в диалоговое окно. Теперь я хочу установить параметр «Внутри» в «Рабочая книга» и выполнить поиск. –

+0

Если ваша цель - искать всю книгу, тогда это должно быть сделано: 'set rng = ActiveWorkbook.Find (What: =" asdf ", LookAt: = xlWhole)'. Если ваша цель состоит в том, чтобы открыть диалоговое окно поиска, это похоже на то, что вы на самом деле достигли этого, и я не уверен, что еще вы спрашиваете – FreeMan

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