Попробуй это. Откроется диалоговое окно поиска / замены, предварительно заполненное тем, что вы передаете в качестве аргументов.
Application.Dialogs(xlDialogFormulaReplace).Show arg1:= "find", arg2:= "replace"
Потенциальные аргументы здесь, взгляните на документацию для замены, приведенную ниже, чтобы узнать, какие значения аргументов использовать. Функция «отличается», но использует те же самые константы, например, look_at в функции «Dialogs» использует те же аргументы, что и LookAt в функции «Replace».
xlDialogFormulaReplace find_text, replace_text, look_at, look_by, active_cell, match_case, match_byte
Для поиска значений.
https://docs.microsoft.com/en-us/office/vba/api/excel.range.find
Для замены значений
https://docs.microsoft.com/en-us/office/vba/api/excel.range.replace
Из вашего комментария может показаться, что вы хотите, чтобы это было полностью автоматизировано, без какого-либо вмешательства пользователя. Если это так, используйте функцию Replace () в Excel.
Пример использования, более простой, чем статья, и не требует установки значения bool: Sheets("Sheet1").Cells.Replace "find", "replace", xlWhole
Как вы планируете запускать код, зависит от вас. :)
ПРИМЕЧАНИЕ. Замены через VBA не могут быть отменены с помощью CTRL-Z