Очень часто мне нужно создавать условные правила форматирования на моих листах excel, а не всегда в одном диапазоне, чтобы отформатировать цвет текста в зависимости от того, что написано.Создайте условный форматирующий макрос для текстового значения в Excel
Наиболее распространенной ситуацией является поворот всех ячеек в диапазоне, имеющих текст «Эффективный» зеленый и полужирный, и «Неэффективный» красный и полужирный.
Я попытался создать этот макрос, используя функцию «Запись макроса» на вкладке «Разработчик», но это не сработало, код был пустым.
Поскольку у меня есть нулевые знания в VBA, мне было интересно, может ли кто-нибудь помочь мне создать этот макрос.
Определения:
- Там нет фиксированного диапазона, он должен захватить выбранный диапазон;
- Формат на основе текста, если «Эффективный» зеленый и полужирный, если «Неэффективен» красный и полужирный.
- Только для одного листа.
[Решено]
Sub EffectiveNot()
'
' EffectiveNot Macro
'
Dim rStart As Range
Set rStart = Selection
Selection.FormatConditions.Add Type:=xlTextString, String:="Effective", _
TextOperator:=xlContains
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Bold = True
.Italic = False
.Color = -11489280
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Selection.FormatConditions.Add Type:=xlTextString, String:="Not effective", _
TextOperator:=xlContains
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Bold = True
.Italic = False
.Color = -16776961
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub