Условный формат определенных символов в ячейке, содержащей формулу

#excel #vba

#excel #vba

Вопрос:

У меня ячейки содержат формулы, сделанные из TEXT (). Я хочу выполнить некоторое условное форматирование для этих ячеек с помощью VBA.

Мои ячейки содержат числа, символы.

Приведенный ниже код хорошо работает, если я сам ввожу некоторый текст в ячейку (‘abcdef’), но не работает, когда ячейка содержит значение, сгенерированное TEXT(). Например, символы 2-4 должны быть выделены жирным шрифтом.

 For Each c In Range("B11:B16")
    FormatCell c
Next

Sub FormatCell(c As Range)
    c.Characters(2,2).Font.Bold = True  
End Sub


  

Комментарии:

1. Вам нужно будет сохранить значения, перезаписав формулы возвращенными значениями, прежде чем пытаться форматировать символы. Вы не можете отформатировать символ значения, возвращаемого действующей формулой.

2. есть ли какой-либо другой вариант? без VBA? Предположим, у меня есть ТЕКСТ (A1) и ТЕКСТ (A2), мне нужно, чтобы A2 был зеленым или выделен жирным шрифтом.

3. нет, другого способа нет.