Поэтому коды VBA подходят для этой задачи, поэтому я хотел бы предложить MACRO решить проблему.
Sub ColourPartiaText() Dim Row As Integer, Col As Integer Dim CurrentCellText As String Col = 1 For Row = 2 To 5 CurrentCellText = ActiveSheet.Cells(Row, Col).Value HotStartPosition = InStr(1, CurrentCellText, "A") CoolStartPosition = InStr(1, CurrentCellText, "B") CoolStartPosition1 = InStr(1, CurrentCellText, "C") CoolStartPosition2 = InStr(1, CurrentCellText, "X") CoolStartPosition3 = InStr(1, CurrentCellText, "Y") CoolStartPosition4 = InStr(1, CurrentCellText, "Z") If HotStartPosition > 0 Then ActiveSheet.Cells(Row, Col).Characters(HotStartPosition, 1).Font.Color = RGB(255, 0, 0) End If If CoolStartPosition > 0 Then ActiveSheet.Cells(Row, Col).Characters(CoolStartPosition, 1).Font.Color = RGB(255, 0, 0) End If If CoolStartPosition1 > 0 Then ActiveSheet.Cells(Row, Col).Characters(CoolStartPosition1, 1).Font.Color = RGB(255, 0, 0) End If If CoolStartPosition2 > 0 Then ActiveSheet.Cells(Row, Col).Characters(CoolStartPosition2, 1).Font.Color = RGB(51, 153, 51) End If If CoolStartPosition3 > 0 Then ActiveSheet.Cells(Row, Col).Characters(CoolStartPosition3, 1).Font.Color = RGB(51, 153, 51) End If If CoolStartPosition4 > 0 Then ActiveSheet.Cells(Row, Col).Characters(CoolStartPosition4, 1).Font.Color = RGB(51, 153, 51) End If Next Row End Sub
Как это устроено:
- Запишите данные
Column A
изRow 2 to 5
. - Нажмите,
Alt+F11
чтобы открыть окно VB Editor. Copy
&Paste
этот код какstandard module
.- Наконец, запустить макрос.
NB
- В коде
Col=1
иFor Row = 2 To 5
доступны для редактирования, вы можете настроить вColumn & Row position
соответствии с размещением данных в вашем листе. - Цветовые коды также доступны для редактирования.