Изменение настроек поиска по умолчанию (Microsoft Excel)
Когда Дэн отображает диалоговое окно «Найти», по умолчанию заданы параметры поиска на листе и просмотра формул. Он хотел бы, чтобы значение по умолчанию находилось в книге и просматривало значения, поэтому ему интересно, есть ли способ изменить значение по умолчанию.
Excel не позволяет указать, какие параметры вы хотите использовать по умолчанию в диалоговом окне «Найти». Однако есть способ обойти это кажущееся ограничение — по крайней мере, частичный. Excel запоминает последние настройки в диалоговом окне «Найти» для всего сеанса Excel. (Параметры не сбрасываются, пока вы не выйдете и не перезапустите Excel.) Это означает, что все, что вам нужно сделать, это создать небольшой макрос, который установит нужные вам параметры в диалоговом окне.
Это можно сделать двумя способами. Первый — создать макрос, который устанавливает параметры непосредственно в диалоговом окне, например:
Sub SetFind1() Application.Dialogs(xlDialogFormulaFind).Show,2,2 End Sub
Второй способ — использовать метод Find объекта Cells следующим образом:
Sub SetFind2() Dim c As Range c = Cells.Find(What:="", LookIn:=xlValues, LookAt:=xlPart) End Sub
Любой из них будет работать нормально, до определенной степени. (Подробнее об этом чуть позже.) Все, что вам нужно сделать, это запустить макрос при первом запуске Excel, вручную или как часть макроса Auto_Open. Затем настройки в диалоговом окне изменяются на оставшуюся часть сеанса Excel, если вы не измените их вручную.
Теперь к делу. Кажется, что нет возможности изменить настройку Внутри диалогового окна. По умолчанию этот параметр ищет в рабочем листе. Вы можете вручную изменить его на Workbook, и Excel точно запомнит настройку для вашего текущего сеанса. Однако вы не можете изменить настройку в VBA. Вы заметите, что ни один из приведенных выше примеров макросов не изменяет этот конкретный параметр. Кроме того, если вы запишете макрос, в котором вы измените две настройки («Внутри» и «Заглянуть внутрь»), вы получите что-то вроде этого:
Sub Macro1() ' ' Macro1 Macro ' ' Sheets("Sheet1").Select Cells.Find(What:="", After:=ActiveCell, LookIn:=xlValues, _ LookAt:=xlPart, SearchOrder:=xlByRows, _ SearchDirection:=xlNext, MatchCase:=False).Activate End Sub
Если вы сохраните книгу, в которой существует этот макрос, перезапустите Excel, а затем изучите настройки в диалоговом окне «Найти» (нажмите Ctrl + F), вы заметите, что настройки вернулись к значениям по умолчанию для поиска на листе и поиска. в формулах. Запустите макрос и снова посмотрите на диалоговое окно; вы должны увидеть, что настройки предназначены для поиска значений на листе; макрос не устанавливает параметр «Внутри», даже если вы записали его, когда для параметра «Внутри» установлено значение «Рабочая книга».
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (8801) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:
link: / excelribbon-Changing_Default_Search_Settings [Изменение настроек поиска по умолчанию]
.