Выделение символов в ячейке - VBA
Формулировка задачи:
Здравствуйте уважаемые гуру Excel'я.
В на просторах нашего "бескрайнего" нашел такой макросик для Excel'я на VBA:
Он подсвечивает текст в английской раскладке красным цветом (очень удобно когда не знаешь в какой раскладке стоят буквы К О А Р.. и т.д.)...но речь не об этом =)
Есть необходимость в похожей функции, но только с другими условиями:
необходимо подсвечивать и/или менять регистр части текста, точнее конкретных символов в ячейке, по заданному "образцу", по типу импровизированного поиска, например:
Ячейка1______Ячейка2___Ячейка3___Ячейка4
абвгд________аб________0_________абвгд
абвгд________гд________1_________абвГД
Яч1 - исходный текст
Яч2 - образец для выделения
Яч3 - да\нет смена регистра
Яч4 - результат
В общем как то так...
Буду рад за любую оказанную помощь
Листинг программы
- Sub ShowLatin()
- For Each c In Selection
- For i = 1 To Len(c)
- If (Asc(Mid(c, i, 1)) >= 65 And Asc(Mid(c, i, 1)) <= 90) Or _
- (Asc(Mid(c, i, 1)) >= 97 And Asc(Mid(c, i, 1)) <= 122) Then
- c.Characters(Start:=i, Length:=1).Font.ColorIndex = 3
- End If
- Next i
- Next c
- End Sub
Решение задачи: «Выделение символов в ячейке»
textual
Листинг программы
- Sub www()
- Dim i&, j&, txt$, mask$
- For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
- txt = Cells(i, 1).Text
- mask = Cells(i, 2).Text
- If Cells(i, 3).Value <> 0 Then txt = Replace(txt, mask, UCase$(mask))
- With Cells(i, 4)
- .Value = txt
- .Font.ColorIndex = xlAutomatic
- If Len(mask) > 0 Then
- j = 0
- Do
- j = InStr(j + 1, LCase$(txt), LCase$(mask))
- If j Then .Characters(Start:=j, Length:=Len(mask)).Font.ColorIndex = 3
- Loop While j
- End If
- End With
- Next i
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д