Vba excel замена текста
Возвращает строку, которая является подстройкой выражения строки, начиная с начала позиции (по умолчанию до 1), в которой указанное подстройка была заменена другим подстройкой заданное количество раз.
Синтаксис
Replace(expression, find, replace, [ start, [ count, [ compare ]]])
Синтаксис функции Replace содержит следующие именованные аргументы:
Часть | Описание |
---|---|
выражение | Обязательная часть. Строковое выражение, содержащее заменяемую подстроку. |
поиск | Обязательно. Искомая подстрока. |
замена | Обязательно. Подстрока замены. |
начало | Необязательно. Начните позицию для подстройки выражения , которая будет искаться и возвращаться. Если элемент опущен, предполагается, что он равен 1. |
count | Необязательное свойство. Число выполняемых замен подстроки. Если значение опущено, значение по умолчанию — -1, что означает, что вы можете сделать все возможные замены. |
compare | Необязательно. Представляет собой числовое значение, указывающее вид сравнения, которое выполняется при оценке подстрок. Значения см. в разделе "Параметры". |
Параметры
Аргумент compare может принимать следующие значения:
Константа | Значение | Описание |
---|---|---|
vbUseCompareOption | –1 | Выполняет сравнение, используя параметр оператора Option Compare. |
vbBinaryCompare | 0 | Выполняется двоичное сравнение. |
vbTextCompare | 1 | Выполняется текстовое сравнение. |
vbDatabaseCompare | 2 | Только Microsoft Access. Выполняется сравнение на основе сведений из базы данных. |
Возвращаемые значения
Функция Replace возвращает следующие значения:
Если | Функция "Replace" возвращает |
---|---|
Элемент expression имеет нулевую длину | Пустая строка ("") |
Элемент expression равен Null | Ошибка. |
Элемент find имеет нулевую длину | Копия expression. |
Элемент replace имеет нулевую длину | Копирование выражений со всеми вхождениями удаленной находки. |
начните > Len(expression) | Строка нулевой длины. Замена строк начинается в позиции, указанной в начале. |
Элемент count равен 0 | Копия expression. |
Комментарии
Возвратное значение функции Replace — это строка с заменами, которая начинается с позиции, указанной в начале, и завершается в конце строки выражения. Это не копия исходной строки от начала до конца.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
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 и поиском по частичному совпадению подстроки с содержимым ячейки:
Replace – это функция, которая возвращает строку, полученную в результате замены одной подстроки в исходном строковом выражении другой подстрокой указанное количество раз.
Если замену подстроки необходимо осуществить в диапазоне ячеек, функцию Replace следует применить к значению каждой ячейки заданного диапазона. Проще замену в диапазоне ячеек произвести с помощью метода Range.Replace.
Синтаксис и параметры
Replace(expression, find, replace, [start], [count], [compare])
- expression – исходное строковое выражение, содержащее подстроку, которую необходимо заменить;
- find – искомая подстрока, подлежащая замене;
- replace – подстрока, заменяющая искомую подстроку;
- start – порядковый номер символа исходной строки, с которого необходимо начать поиск, часть строки до этого номера обрезается, по умолчанию равен 1 (необязательный параметр);
- count – количество замен подстроки, по умолчанию выполняется замена всех обнаруженных вхождений (необязательный параметр);
- compare – числовое значение, указывающее вид сравнения (необязательный параметр).
Сокращенный синтаксис функции Replace с необязательными параметрами по умолчанию:
Replace(expression, find, replace)
Параметр compare
Константа | Значение | Описание |
---|---|---|
vbUseCompareOption | -1 | используется параметр, заданный оператором Option Compare |
vbBinaryCompare | 0 | выполняется двоичное сравнение |
vbTextCompare | 1 | применяется текстовое сравнение |
По умолчанию используется двоичное (бинарное) сравнение. При таком сравнении буквенные символы в нижнем и верхнем регистрах различаются. Если необходимо провести замену подстроки независимо от регистра букв, используйте значение параметра compare – vbTextCompare (1).
Возвращает символы Boolean , указывающие в ячейках в указанном диапазоне. Использование этого метода не меняет ни выбор, ни активную ячейку.
Синтаксис
выражения. Замените (Что, замена, LookAt, SearchOrder, MatchCase, MatchByte, SearchFormat, ReplaceFormat)
выражение: переменная, представляющая объект Range.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
What | Обязательный | Variant | Строка, которую Microsoft Excel для поиска. |
Replacement | Обязательный | Variant | Строка замены. |
LookAt | Необязательный | Variant | Может быть одной из следующих констант XlLookAt: xlWhole или xlPart. |
SearchOrder | Необязательный | Variant | Может быть одной из следующих констант XlSearchOrder: xlByRows или xlByColumns. |
MatchCase | Необязательный | Variant | Значение True, чтобы выполнять поиск с учетом регистра. |
MatchByte | Необязательный | Variant | Используйте этот аргумент только в том случае, если вы выбрали или установили языковую поддержку с двойным Microsoft Excel. Значение True, чтобы двухбайтовые символы сопоставлялись только с двухбайтовым символами. Значение False, чтобы двухбайтовые символы сопоставлялись с однобайтовыми эквивалентами. |
SearchFormat | Необязательный | Variant | Формат поиска метода. |
ReplaceFormat | Необязательный | Variant | Формат замены метода. |
Возвращаемое значение
Примечания
Параметры LookAt, SearchOrder, MatchCase и MatchByte сохраняются при каждом использовании этого метода. Если при следующем вызове метода значения для этих аргументов не будут указаны, используются сохраненные значения. Установка этих аргументов изменяет параметры в диалоговом окне Найти, а изменение параметров в диалоговом окне Найти приводит к изменению сохраненных значений, которые используются, если опустить аргументы. Чтобы избежать проблем, установите эти аргументы явно каждый раз, когда вы используете этот метод.
Пример
В этом примере каждый случай возникновения тригонометрической функции SIN заменяется функцией COS. Диапазон замены — столбец A на листе1.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Заменяет часть текстовой строки в зависимости от количества символов, которые вы указываете, другой строкой текста.
Синтаксис
выражение Переменная, представляюная объект WorksheetFunction .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Arg1 | Обязательный | String | Текст, в котором необходимо заменить некоторые символы. |
Arg2 | Обязательный | 64-разрядное число с плавающей запятой двойной точности. | Положение символа в Arg1 , которое необходимо заменить на Arg4. |
Arg3 | Обязательный | 64-разрядное число с плавающей запятой двойной точности. | Количество символов в Arg1 , которые необходимо заменить методом Replace на Arg4. |
Arg4 | Обязательный | String | Текст, который заменит символы в Arg1. |
Возвращаемое значение
Значение String , представляюще новую строку после замены.
Пример
В этом примере abcdef заменяется ac-ef и сообщает пользователю об этом процессе.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Читайте также: