Выделение символов в ячейке - VBA

Узнай цену своей работы

Формулировка задачи:

Здравствуйте уважаемые гуру Excel'я. В на просторах нашего "бескрайнего" нашел такой макросик для Excel'я на VBA:
Листинг программы
  1. Sub ShowLatin()
  2. For Each c In Selection
  3. For i = 1 To Len(c)
  4. If (Asc(Mid(c, i, 1)) >= 65 And Asc(Mid(c, i, 1)) <= 90) Or _
  5. (Asc(Mid(c, i, 1)) >= 97 And Asc(Mid(c, i, 1)) <= 122) Then
  6. c.Characters(Start:=i, Length:=1).Font.ColorIndex = 3
  7. End If
  8. Next i
  9. Next c
  10. End Sub
Он подсвечивает текст в английской раскладке красным цветом (очень удобно когда не знаешь в какой раскладке стоят буквы К О А Р.. и т.д.)...но речь не об этом =) Есть необходимость в похожей функции, но только с другими условиями: необходимо подсвечивать и/или менять регистр части текста, точнее конкретных символов в ячейке, по заданному "образцу", по типу импровизированного поиска, например: Ячейка1______Ячейка2___Ячейка3___Ячейка4 абвгд________аб________0_________абвгд абвгд________гд________1_________абвГД Яч1 - исходный текст Яч2 - образец для выделения Яч3 - да\нет смена регистра Яч4 - результат В общем как то так... Буду рад за любую оказанную помощь

Решение задачи: «Выделение символов в ячейке»

textual
Листинг программы
  1. Sub www()
  2.     Dim i&, j&, txt$, mask$
  3.     For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
  4.         txt = Cells(i, 1).Text
  5.         mask = Cells(i, 2).Text
  6.         If Cells(i, 3).Value <> 0 Then txt = Replace(txt, mask, UCase$(mask))
  7.         With Cells(i, 4)
  8.             .Value = txt
  9.             .Font.ColorIndex = xlAutomatic
  10.             If Len(mask) > 0 Then
  11.                 j = 0
  12.                 Do
  13.                     j = InStr(j + 1, LCase$(txt), LCase$(mask))
  14.                     If j Then .Characters(Start:=j, Length:=Len(mask)).Font.ColorIndex = 3
  15.                 Loop While j
  16.             End If
  17.         End With
  18.     Next i
  19. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы