Можно ли изменить сборку в Excel найти заменить диалоговое окно с помощью VBA? - PullRequest
0 голосов
/ 30 октября 2019

Есть ли способ изменить сборку в Excel, найти и заменить диалоговое окно, используя vba? например, я хочу отключить критерий «внутри»: книга.

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

1 Ответ

0 голосов
/ 30 октября 2019

Вы можете создать пользовательскую форму, которая выглядит как диалог поиска / замены, но без раскрывающегося списка, который вы хотите отключить. Затем вы можете написать простую подпрограмму для отображения формы, когда пользователь нажимает Ctrl + F:

Public Sub ShowFindDialog
    MyFindDialog.Show
End Sub

Чтобы назначить ее клавише Ctrl + f, перейдите в Developer -> Macros -> find your macro и нажмите "Параметры ... »-> указать« Ctrl + f »в качестве сочетания клавиш.

Теперь пользователи по-прежнему могут получать доступ к встроенному диалогу поиска / замены через ленту. Чтобы удалить его, щелкните правой кнопкой мыши на ленте и выберите «Настроить ленту ...». В правой части окна разверните вкладку «Главная», щелкните правой кнопкой мыши группу «Редактирование» и выберите «Удалить».

РЕДАКТИРОВАТЬ: Последний бит настройки ленты будетработать только на вашем компьютере и будет применяться ко всем книгам. Если вы хотите применить эти настройки для конкретной книги, это будет сложнее. Вы можете посмотреть, например, здесь .

EDIT2: Вместо создания пользовательской формы вы можете использовать Application.Dialogs(xlDialogFormulaFind).Show. Чтобы сделать это только для одного листа, добавьте следующий макрос и назначьте его Ctrl + F, как я объяснил ранее:

Public Sub ShowFindDialog()
    If ActiveSheet.Name = "MySheet" Then
        'ON MySheet show find dialog without an option to search within workbook
        Application.Dialogs(xlDialogFormulaFind).Show
    Else
        'For all other sheets show regular find dialog
        Application.CommandBars("Edit").Controls("Find...").Execute
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...