11

В Microsoft Excel, когда я выполняю поиск, используя CTRL+F, по умолчанию он выполняет поиск только в пределах текущей таблицы.

Как настроить поиск по всей книге по умолчанию? У меня Office 2010 . Это вообще возможно? Можно ли установить это для конкретной рабочей книги или рабочего листа? Я в порядке с редактированием реестра, если это то, что нужно.

5 ответов5

3

Вы можете сделать это с помощью макроса Workbook_Open в модуле ThisWorkbook, например:

Private Sub Workbook_Open()

Application.CommandBars.FindControl(ID:=1849).Execute
SendKeys "%(t)%(h)W~{ESC}"

End Sub

Это установит его для вашей сессии для рабочей книги, в которой вы находитесь.

Чтобы это всегда было значением по умолчанию, вам нужно создать персональную макрокоманду.

2

Я включил модификацию, так что она будет работать, если ваш Excel на испанском (как у меня)

Private Sub Workbook_Open()

Dim lCountryCode As Long
lCountryCode = Application.International(xlCountryCode)

Application.CommandBars.FindControl(ID:=1849).Execute

Select Case lCountryCode
Case 34 'spanish
    SendKeys "%(p)%(D)L~{ESC}"
Case Else 'default english
    SendKeys "%(t)%(h)W~{ESC}"
End Select


End Sub
0

Команды Sendkeys, предложенные другими ответами, не приветствуются. В прошлом команда Sendkeys приводила к очень неожиданным действиям, когда вам приходилось перезагружать компьютер для восстановления. Я бы рекомендовал сделать эту процедуру локальной и выполнять ее только по требованию. Для удобства вы также можете назначить ему ключ cntl, например, "q". Опция Workbook Within будет запомнена для баланса сеанса.

Sub myFind()
  Application.CommandBars.FindControl(ID:=1849).Execute
  SendKeys "%(t)%(h)W~+{Tab}+{Tab}"
End Sub
0

У меня была похожая проблема. У меня есть кнопка в рабочей тетради. Если кнопка нажата, я хочу, чтобы Excel открыл диалог поиска с уже выбранной опцией "Поиск по всем рабочим книгам" вместо значения по умолчанию "на листе", несмотря ни на что.

Кроме того, я хотел, чтобы кнопка работала независимо от скрытых или показанных опций, а также от того, вносил ли кто-либо изменения вручную. Это сложно, потому что Excel по умолчанию не показывает параметры при запуске, но запоминает и показывает их снова в следующий раз, если кто-то отобразил их раньше.

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

Вот мой код для английской версии Excel, для других языков вы должны соответственно изменить ключи.

 Sub Commanbutton_Click()

      Cells(1, 1).Select

       SendKeys "^f", True
       SendKeys "{TAB 15}"
       SendKeys " ", True
       SendKeys "%t%t", True
       SendKeys "{TAB 2}", True
       SendKeys "{DOWN}{DOWN}{ENTER}", True
       SendKeys "%t%t", True

  End Sub

Вы можете попробовать это вручную:

Нажмите CTRL+F для диалога поиска. Нажмите TAB 15 раз, чтобы вы либо попали в "Опции", либо в выпадающий "Поиск внутри".

Нажмите пробел и либо

1) Опции отображаются или 2) выпадающий список активируется и ничего не происходит

Дважды нажмите Alt+T, чтобы перевести курсор в поле ввода поиска

Нажмите TAB дважды, и вы попадете к поиску в выпадающем меню, несмотря ни на что (потому что предыдущие шаги гарантируют, что параметры действительно отображаются!)

Нажмите стрелку ВНИЗ дважды, чтобы выбрать "Рабочая книга", и ENTER, чтобы выбрать.

Нажмите ALT+T дважды, чтобы снова установить курсор на поле ввода поиска.

Надеюсь, что это помогает кому-то еще, кто имеет подобную проблему. Многие из Google сказали только, что с помощью VBA невозможно предварительно выбрать "поиск по всем книгам", но этот способ работает!

Чтобы он работал с разными языками, вам нужно проверить его и использовать CASE для переключения на правильную процедуру с соответствующими ярлыками.

0
  1. Выберите значок «Найти / Выбрать» на домашней ленте

  2. Нажмите Найти

  3. Нажмите на поле "Опции" в правом нижнем углу

  4. С левой стороны есть выпадающий список "Внутри"

  5. Выберите "Лист" или "Рабочая книга"

Этот сайт объясняет, как изменить настройки по умолчанию

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .