Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Справочники

МЕНЮ САЙТА
  • 1
  • 2
  • 3

КАТЕГОРИИ РАЗДЕЛА

ОПРОСЫ
Какой версией Excel Вы пользуетесь?
Всего ответов: 40599
Главная » Справочники » Функции VBA » Функции обработки строк

Replace

Функция Replace

 

Replace(Expression,Find,Replace[,Start[,Count[,Compare]]])

 

 

Возвращаемое значение

 

В результате действия функции Replace возвращается исходная строка с замененным строковым фрагментом


Параметры

 

Expression Обязательный аргумент - строка, в которой требуется замена
Find
Обязательный аргумент - подстрока, которую нужно заменить
Replace
Обязательный аргумент - подстрока замены
Start Необязательный аргумент - указывает позицию
Count Необязательный аргумент - указывает число
Compare Необязательный аргумент - вид сравнения

 


Пример

 

 Dim sample$, findstr$, newstr$, retval$
 sample = "Мир MS Excel" 'строка, в которой будем менять
 findstr = "MS " 'подстрока для замены
 newstr = "" ' новая подстрока для замены
 retval = Replace(sample, findstr, 1, 1) ' меняем один раз, начиная с первого символа
 Debug.Print retval

 

Категория
Функции обработки строк

 

Счетчики: 36716 | Добавил: Serge_007
Всего комментариев: 5
0   Спам
1    Валерий   (29.10.2014 06:14)
   А можно ли с помощью этой функции в шаблоне задать замену допустим двух пробелов на один в открываемом документе

0  
2    Serge_007   (29.10.2014 13:21)
   Можно
Dim sample$, findstr$, newstr$, retval$
  sample = "Мир  MS  Excel" 'строка, в которой будем менять
  findstr = "  " 'подстрока для замены
  newstr = " " ' новая подстрока для замены
  retval = Replace(sample, findstr, newstr) ' меняем один раз, начиная с первого символа
  Debug.Print retval

0   Спам
3    mathiax90   (27.01.2016 06:03)
   Count Необязательный аргумент - указывает число
исправьте пожалуйста на
Count Необязательный аргумент - указывает число замен. -1 - чтобы заменить все появления (по умолчанию).

0   Спам
4    Joss   (20.12.2016 09:52)
   Replace ("1011112", "1", "2", 5, 1) выдаёт 212, а надо 1011212

Это что - глюк или фича? И как в таких случаях быть?

0   Спам
5    Joss   (21.12.2016 09:44)
   На сайте Микрософт к функции Replace висит заметка

Значение, возвращаемое функцией Replace является строкой, которая начинается с позиции, указанной параметром Start, и завершается в конце строки Expression, с заменой подстрок Find значениями Replace.

Т.е. Если хочешь получить нормальную замену, надо к результату добавить начало исходной строки до позиции Start.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!