Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2016, 17:01   #1
ExStella
Новичок
Джуниор
 
Регистрация: 13.10.2016
Сообщений: 1
Вопрос Найти и заменить одно слово в ячейках на это же слово только отформатированное

Ребят, выручайте. Мне необходимо (желательно встроенной функцией) найти одно слово в каждой ячейке и заменить его на это же только только отформатированное слово. Например, ищу по строкам слово AUDI и заменяю только его на AUDI

Последний раз редактировалось ExStella; 13.10.2016 в 17:03. Причина: не привела пример
ExStella вне форума Ответить с цитированием
Старый 13.10.2016, 17:06   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Функции листа такого делать не могут.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 14.10.2016, 01:57   #3
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Пробуйте макрос. В ячейке может быть более чем один указанный фрагмент. Если выделена одна ячейка, будет обработан весь лист, а если выделен диапазон, будет обработан только он (как при поиске-замене).
Код:
Sub ExStella()
Static d$
Dim r As Range, c As Range, a$, i&, s$
  If Selection.Count > 1 Then Set r = Selection Else Set r = Cells
  d = Application.InputBox("Введите фрагмент текста" & vbLf & "или кликните ячейку с текстом", , d)
  Set c = r.Find(d, , xlFormulas, xlPart, , xlNext)
  If Not c Is Nothing Then
    a = c.Address
    Do
      s = c.Formula
      i = 0
      Do
        i = InStr(i + 1, s, d, vbTextCompare)
        If i Then c.Characters(i, Len(d)).Font.Bold = True Else Exit Do
      Loop
      Set c = r.FindNext(c)
    Loop Until c.Address = a
  Else
    MsgBox "Не найдено"
  End If
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 14.10.2016, 02:48   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Аналогичный макрос есть у меня на сайте:
http://excelvba.ru/code/HighlightText
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти нужное слово из нескольких в ячейках Сергей54 Microsoft Office Excel 2 26.10.2012 14:01
Паскаль. Процедуры. Заменить в тексте одно слово на другое JosH7 Помощь студентам 3 23.09.2012 22:06
Заменить в строке одно слово на другое, заданное с клавиатуры. trum Помощь студентам 5 05.04.2012 17:48
как одно слово заменить не другое? ilyha93 Паскаль, Turbo Pascal, PascalABC.NET 2 27.12.2011 20:07
Заменить заданное слово в тексте, находящемся в заданном файле, на другое слово (С++) Lapochka Помощь студентам 6 01.12.2011 14:05