Использовать «Найти и заменить» в VBA для замены нескольких строк?

#excel #vba #replace #find

#excel #vba #заменить #Найти

Вопрос:

Я создал простой код в VBA для скрытия и отображения определенных столбцов, но теперь я хочу заменить части кода во всех модулях, используя окно «Найти и заменить».

(Пожалуйста, извините за мои очень низкие знания в области программирования… Мне просто действительно нужно, чтобы это было решено)

Например. у меня есть код:

 ' Hide column "Region"
Range("A:A").Select
Selection.EntireColumn.Hidden = True
  

и хотите заменить его во всех модулях на:

 ' Hide column "Region" (INACTIVE)
Range("A:A").Select
Selection.EntireColumn.Hidden = False
  

Я пытаюсь использовать окно «Найти и заменить» в VBA и ввести исходный код в поле «Найти что», но в итоге в поле отображается только первая строка:

‘ Скрыть столбец «Регион»

Как я могу ввести код в поле «Найти что» для поиска всего кода? Я попытался ввести следующее в поле «Найти что», используя «^ p», «<^p>», » p» и «< p>», не получив никаких результатов поиска:

‘ Скрыть столбец «Регион» ^ pRange («A: A»). Выберите ^pSelection.Весь столбец.Скрыто = True

‘ Скрыть столбец «Регион»<^p>Диапазон («A:A»).Выберите<^p>Выделение.Весь столбец.Скрыто = True

‘ Скрыть столбец «Регион» pRange («A: A»). Выберите pSelection.Весь столбец.Скрыто = True

‘ Скрыть столбец «Регион»<p>Диапазон («A:A»).Выберите<p>Выделение.Весь столбец.Скрыто = True

и так далее…

Мне удалось сделать это однажды раньше, но я не могу вспомнить, как я это сделал! Есть ли кто-нибудь, кто может мне помочь?

Комментарии:

1. Что вы на самом деле пытаетесь найти и заменить? Единственное различие, которое я вижу, — это true / false.

2. Я пытаюсь заменить все три строки целиком, так как это происходит несколько раз во многих разных модулях. Единственное отличие заключается в том, что я добавляю » (НЕАКТИВНЫЙ)» в первую строку и меняю true / false в последней строке.

3. Не думаю, что вы сможете это сделать. Вам было бы лучше настроить параметры вашего sub / функции. Обходным решением может быть вставка его в Word.

4. Теперь, когда вы упомянули об этом, я думаю, что, возможно, решил это в прошлый раз, извлек код в Word и выполнил Поиск и замену там, прежде чем заменять код в VBA на новый… Я попробую еще раз — большое СПАСИБО!

5. И, избегая выбора, вы можете сократить свой код до одной строки.

Ответ №1:

Я исправил это, скопировав код в каждом модуле в Word и используя «Найти и заменить» там, чтобы заменить код во всех местах.

В Word «^ p» работает как разрыв абзаца в поле «Найти что».