Настройте Excel на поиск по всей книге по умолчанию

Настройте Excel на поиск по всей книге по умолчанию

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

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

Примечание:Почти 10 лет спустя я все еще хотел бы сделать это, но теперь для Excel 2016/2019.

решение1

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

Private Sub Workbook_Open()

Application.CommandBars.FindControl(ID:=1849).Execute
SendKeys "%(h){DOWN}{ENTER}{ESC}"

End Sub

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

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

Примечание: Старая строка из оригинального ответа:SendKeys "%(t)%(h)W~{ESC}"

решение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

решение3

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

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

  3. Нажмите на поле «Параметры» в правом нижнем углу.

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

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

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

решение4

У меня была похожая проблема. У меня есть кнопка в рабочей книге. Если нажать кнопку, я хочу, чтобы 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 для переключения на нужную процедуру с соответствующими сочетаниями клавиш.

Связанный контент