Поэтому коды 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
соответствии с размещением данных на вашем листе.
- Цветовые коды также доступны для редактирования.