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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2010, 17:13   #1
bukarenko
 
Регистрация: 06.08.2009
Сообщений: 3
По умолчанию Замена шрифта части ячейки

Доброго времени суток,
Возникла следующая проблема: необходимо искать заданный фрагмент текста и выделять его в ячейке определенным цветом.
Проблема с методом Replace в том, что возможно изменить только шрифт всей ячейки. Книга очень большая, поэтому критичен вопрос времени работы макроса.
Заранее благодарен за помощь.
bukarenko вне форума Ответить с цитированием
Старый 25.03.2010, 18:12   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Но ядумаю,это очень медленный способ

Код:

Sub Color_Font()
   Dim sl As String
   Dim n, m, k As Integer
   sl = Range("A1").Text
   m = Len(sl)
   k = Len("что") 'ищем   что
   
   n = InStr(1, sl , "что")
      With Range("A1")
 .Characters(Start:=1, Length:=n - 1).Font.ColorIndex = 0
      
  .Characters(Start:=n, Length:=3).Font.ColorIndex = 3 'Меняем на красный
       
 .Characters(Start:=n + 1 + k, Length:=m).Font.ColorIndex = 0
        
    End With
 
End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 25.03.2010, 18:43   #3
bukarenko
 
Регистрация: 06.08.2009
Сообщений: 3
По умолчанию

Спасибо, этот способ уже пробовал.
Не годится из-за того, что слишком медленный.
Но я нашел выход в сочетании Find и функции Instr. Т.е. посимвольный перебор применяется только к ячейкам, содержащим требуемый фрагмент текста. Т.о., временные затраты существенно снижаются.
bukarenko вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление части данных из ячейки John34 Microsoft Office Excel 7 17.11.2014 14:34
Копирование части данных ячейки Doszhan Microsoft Office Excel 15 04.11.2011 07:49
Замена части формулы по значению ячейки klip Microsoft Office Excel 3 05.03.2010 14:45
Замена части кода при отключённом JavaScript в браузере DJ Triton PHP 7 18.08.2009 19:47
Сортировка ячейки Excel по цвету шрифта из Delphi dixieswing Помощь студентам 0 03.08.2009 16:57