Заменить значения в выбранном именованном диапазоне - PullRequest
0 голосов
/ 14 марта 2019

Ячейки А1 и А7 названы Токио.Значение ячейки A1, A2, A6, A10 равно «[ABC]».Когда код выполняется, значения в ячейках A1, A2, A6 должны быть заменены на «15 Миграция», а значение ячейки A10 должно оставаться как «[ABC]», поскольку оно находится за пределами именованного диапазона.

Я попробовал следующее, но оно также заменяет значения вне указанного диапазона:

For Each cell In Range("Tokyo")
    Cells.Replace What:="[*]", Replacement:="[15  Migration]", LookAt:=Part, SearchOrder:=ByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Next cell

1 Ответ

1 голос
/ 14 марта 2019
  1. Цикл не нужен - просто используйте Range.Replace.
  2. Реальная проблема заключается в том, что Cells.Replace относится к всем ячейкам в ActiveSheet, поэтому замены будутпроисходит вне рассматриваемого диапазона.
  3. Обратите внимание, что вы хотите xlPart и xlByRows, а не Part и ByRows.Подробнее см. Документацию Range.Replace.

Range("Tokyo").Replace What:="[*]", Replacement:="[15  Migration]", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...