#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» работает как разрыв абзаца в поле «Найти что».