Замена текста функцией ПОДСТАВИТЬ (SUBSTITUTE)

Давайте разберем пару примеров использования функции ПОДСТАВИТЬ для наглядности.
Замена или удаление неразрывных пробелов
При выгрузке данных из 1С, копировании информации с вебстраниц или из документов Word часто приходится иметь дело с неразрывным пробелом — спецсимволом, неотличимым от обычного пробела, но с другим внутренним кодом (160 вместо 32). Его не получается удалить стандартными средствами — заменой через диалоговое окно Ctrl + H или функцией удаления лишних пробелов СЖПРОБЕЛЫ (TRIM) . Поможет наша функция ПОДСТАВИТЬ, которой можно заменить неразрывный пробел на обычный или на пустую текстовую строку, т.е. удалить:
Подсчет количества слов в ячейке
Если нужно подсчитать количество слов в ячейке, то можно применить простую идею: слов на единицу больше, чем пробелов (при условии, что нет лишних пробелов). Соответственно, формула для расчета будет простой:
Если предполагается, что в ячейке могут находиться и лишние пробелы, то формула будет чуть посложнее, но идея — та же.
Извлечение первых двух слов
Если нужно вытащить из ячейки только первые два слова (например ФИ из ФИО), то можно применить формулу:
У нее простая логика:
- заменяем второй пробел на какой-нибудь необычный символ (например #) функцией ПОДСТАВИТЬ (SUBSTITUTE)
- ищем позицию символа # функцией НАЙТИ (FIND)
- вырезаем все символы от начала строки до позиции # функцией ЛЕВСИМВ (LEFT)
Ссылки по теме
- Зачистка текста от лишних пробелов, непечатаемых символов и т.д.
- Как подсчитать количество слов в ячейке
- Преобразование чисел-как-текст в полноценные числа
Изменить размер столбца или строки
Размер столбца или строки можно изменить одним из следующих способов:
• переместить границу столбца/строки вручную;
• указать точную ширину столбца/высоту строки.
Изменить размер вручную
Чтобы изменить размер одного столбца или строки, выполните следующие действия:
1. Наведите курсор на границу столбца или строки, размер которой необходимо изменить. Курсор примет вид двусторонней стрелки.
2. Удерживая нажатой левую кнопку мыши, протяните курсор так, чтобы граница столбца/строки приняла требуемое положение.
3. Отпустите левую кнопку мыши, чтобы зафиксировать положение.
Последняя вертикальная граница таблицы не может превышать правое поле страницы.
Чтобы установить одинаковый размер для нескольких столбцов/строк таблицы, выполните следующие действия:
2. Установите для одного столбца/строки размер, который требуется применить для всех выделенных столбцов/строк таблицы. Для этого:
• Наведите курсор на границу любого столбца/строки так, чтобы он принял вид двусторонней стрелки.
• Удерживая нажатой левую кнопку мыши, протяните курсор так, чтобы граница столбца/строки приняла требуемое положение.
• Отпустите левую кнопку мыши, чтобы зафиксировать положение.
Для выделенных столбцов/строк таблицы будет автоматически установлен размер, указанный для данного столбца/строки.
Чтобы установить одинаковый размер для всех столбцов/строк таблицы, выделите таблицу и выполните аналогичные действия.
Указать точный размер
Чтобы указать точную ширину для одного/нескольких столбцов или высоту для одной/нескольких строк, выполните следующие действия:
1. Укажите данные столбцы/строки:
• Чтобы изменить ширину одного столбца или высоту одной строки, выделите этот столбец/строку или выделите любую ячейку, которая находится в данном столбце/строке.
• Чтобы изменить ширину нескольких столбцов или высоту нескольких строк, выделите эти столбцы/строки или выделите любой диапазон ячеек, который находится в данных столбцах/строках.
2. Откройте окно Размер ячейки одним из следующих способов:
• Выберите пункт командного меню Формат > Таблица > Размер ячейки .

• На панели инструментов, в разделе Таблица нажмите кнопку ( Размер ячейки ).
• Правой кнопкой мыши щелкните по выделенным столбцам/строкам и выполните команду контекстного меню Размер ячейки .
3. В окне Размер ячейки укажите требуемую Ширину столбцов или Высоту строк.
Замена текста в шаблоне Word из ячеек в Excel

Есть шаблон Word, в котором определенные места, текст в которых нужно заменить размечены тэгами < >. Есть так же форма в Экселе в столбец G которой пользователь вводит данные для последующей замены в шаблон Word. Проблема в том что сами данные не будут статичны т.е. может понадобится другое количество строк в некоторых пунктах (например в пункте Задачи дисциплины их может быть как 4, так и больше либо меньше. Остальные строки при этом тоже будут менять свое положение в документе). Не знаю даже как это реализовать в виде макроса. (Может быть вообще стоит переделать форму в экселе так, чтобы поля ввода распологались не вертикально друг под другом, а горизонтально друг за другом? Тогда у каждого поля ввода будет свой собственный столбец)
Отслеживать
6,384 2 2 золотых знака 18 18 серебряных знаков 31 31 бронзовый знак
задан 16 мая 2017 в 16:28
9 1 1 серебряный знак 3 3 бронзовых знака
Почитайте встроенную справку MS Word по термину «Слияние». По нажатию кнопки на новом листе с предопределённым названием создаёте исходные данные в нужном для слияния формате, а потом открываете основной документ, у которого источник данных — свежесозданный лист.
16 мая 2017 в 17:10
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
В VBA вставку данных из Excel в Word можно осуществить с помощью закладок (bookmarks).
Открыть документ Word, выделить место вставки данных (можно только установить курсор, вставляемый в закладку текст займет нужную длину строки). Вставка-Закладка, вписать имя закладки, Добавить. Файл можно сохранить как шаблон (.dot, .dotx). Документ готов к приему данных.
На листе книги Excel оформить диапазон данных, предназначенных для вставки в Word. Для удобства в соседний столбец можно вставить текст (не обязательно): описание, наименование, в какую закладку вставляются данные и т.п.
В редакторе VBA в общем модуле проекта разместить код:
Option Explicit Dim mDOK As Object ' функция записи текста в закладки Function UpdateBookmarks(ByVal NameOfBookmark As String, ByVal ContentOfBookmark As String) Dim oRng As Object Dim oBm As Object Set oBm = mDOK.Bookmarks ' в переменную закладки документа Set oRng = oBm(NameOfBookmark).Range ' в переменную имена закладок документа oRng.Text = ContentOfBookmark ' содержание закладок oBm.Add NameOfBookmark, oRng End Function ' заполнение закладок Sub open_doc() Dim oWordApl As Object Dim sPath As String Dim sNameDoc As String sNameDoc = "Проба пера" ' имя документа sPath = ThisWorkbook.Path & "\" & sNameDoc & ".dot" ' путь к документу имя.dot Set oWordApl = CreateObject("word.application") ' объект - программа Word Set mDOK = oWordApl.Documents.Open(sPath) ' открываем документ oWordApl.Visible = True ' показываем Word ' записываем в закладки текст из ячеек листа Excel With Worksheets("Источник") UpdateBookmarks "название_дисциплины", .Range("G2").Value UpdateBookmarks "код_дисциплины", .Range("G3").Value UpdateBookmarks "направление", .Range("G4").Value UpdateBookmarks "профиль подготовки", .Range("G5").Value ' . End With End Sub
покупка
Как найти и заменить содержимое объединенных ячеек в Excel?
Поиск и замена слова другим словом обычно используется в Excel, но пробовали ли вы когда-нибудь найти и заменить содержимое в объединенных ячейках в Excel? В этом руководстве вы можете найти хорошие решения.

Найти и заменить объединенные ячейки с помощью Kutools for Excel
Найдите и замените объединенные ячейки с помощью функции «Найти и заменить»
С функцией поиска и замены вы можете справиться с этой задачей.
1. Выберите диапазон данных, который вы хотите заменить объединенными ячейками, и нажмите Ctrl + F клавиши одновременно, чтобы включить Найти и заменить диалоговое окно, затем щелкните Замените таб. Смотрите скриншот:

2. Затем нажмите Формат рядом Найти то, что текстовое поле, а затем в Найти формат диалоговое окно, нажмите центровка вкладка и отметьте Объединить ячейки только вариант. Смотрите скриншот:

3. Нажмите OK , чтобы вернуться к Найти и заменить диалоговое окно и введите текст, которым хотите заменить, в поле Заменить текстовое окно. Смотрите скриншот:

4. Нажмите Заменить все, появится диалоговое окно с напоминанием о количестве замененных ячеек, просто нажмите OK.

Теперь все содержимое объединенных ячеек заменено новыми текстами.

Найти и заменить объединенные ячейки с помощью Kutools for Excel
Если вы хотите более легко заменить содержимое ячеек слияния, вы можете попробовать использовать Kutools for ExcelАвтора Выбрать объединенные ячейки утилита.
После бесплатная установка Kutools for Excel, сделайте следующее:
1. Выберите диапазон данных, включая объединенные ячейки, и нажмите Кутулс > Выберите > Выбрать объединенные ячейки. Смотрите скриншот:

2. Затем выбираются все объединенные ячейки в выделенной области, и Kutools for Excel появится диалоговое окно, напоминающее количество выбранных объединенных ячеек, щелкните OK закрыть его.

3. Затем введите текст, которым хотите заменить, и нажмите Ctrl + Enter клавиши для замены текста в объединенных ячейках новым текстом.

Относительные статьи:
- Как быстро найти и заменить на нескольких листах или во всей книге?
- Как быстро найти и заменить в нескольких открытых файлах Excel?