Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

VBA Excel. Метод Range.Replace (замена текста в ячейках)

    Замена подстроки, содержащейся в текстовых значениях ячеек указанного диапазона, другой подстрокой с помощью метода Range.Replace из кода VBA Excel.

    Определение метода Range.Replace

    Range.Replace – это метод, который находит по шаблону подстроку в содержимом ячеек указанного диапазона, заменяет ее на другую подстроку и возвращает значение типа Boolean.

    Метод имеет некоторые особенности, которые заключаются в следующем:

    • при присвоении булева значения, возвращаемого методом Range.Replace, переменной, необходимо список параметров (аргументов) метода заключать в круглые скобки;
    • если метод используется без присвоения возвращаемого значения переменной, параметры должны быть указаны без заключения их в круглые скобки.

    Синтаксис и параметры метода

    Синтаксис

    Синтаксис при замене подстроки и присвоении переменной возвращаемого значения типа Boolean:

    variable = expression.Replace(What, Replacement, [LookAt], [SearchOrder], [MatchCase], [MatchByte], [SearchFormat], [ReplaceFormat])

    Синтаксис при замене подстроки без присвоения переменной возвращаемого значения:

    expression.Replace What, Replacement, [LookAt], [SearchOrder], [MatchCase], [MatchByte], [SearchFormat], [ReplaceFormat]

    • variable – переменная (тип данных — Boolean);
    • expression – выражение, возвращающее объект Range.

    Параметры

    Параметр Описание
    What Искомая подстрока или шаблон*, по которому ищется подстрока в диапазоне ячеек. Обязательный параметр.
    Replacement Подстрока, заменяющая искомую подстроку. Обязательный параметр.
    LookAt Указывает правило поиска по полному или частичному вхождению искомой подстроки в текст ячейки:
    1 (xlWhole) – поиск полного вхождения искомого текста;
    2 (xlPart) – поиск частичного вхождения искомого текста.
    Необязательный параметр.
    SearchOrder Задает построчный или постолбцовый поиск:
    1 (xlByRows) – построчный поиск;
    2 (xlByColumns) – постолбцовый поиск.
    Необязательный параметр.
    MatchCase Поиск с учетом или без учета регистра:
    0 (False) – поиск без учета регистра;
    1 (True) – поиск с учетом регистра.
    Необязательный параметр.
    MatchByte Способы сравнения двухбайтовых символов:
    0 (False) – двухбайтовые символы сопоставляются с однобайтовыми эквивалентами;
    1 (True) – двухбайтовые символы сопоставляются только с двухбайтовым символами.
    Необязательный параметр.
    SearchFormat Формат поиска. Необязательный параметр.
    ReplaceFormat Формат замены. Необязательный параметр.

    * Смотрите знаки подстановки для шаблонов, которые можно использовать в параметре What.

    Работа метода в VBA Excel

    Исходная таблица для всех примеров:

    Пример 1

    Примеры записи строк кода с методом Range.Replace и поиском по частичному совпадению подстроки с содержимым ячейки:

    Результат выполнения любого из вариантов кода примера 1:

    Пример 2

    Поиск по шаблону с использованием знаков подстановки и по полному совпадению подстроки с содержимым ячейки:

    Обратите внимание, что слово «Лиса» заменено словом «Рысь» не во всех ячейках. Это произошло из-за того, что мы использовали параметр LookAt:=1 – поиск полного вхождения искомого текста в содержимое ячейки.

    Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.