2013-12-14 3 views
-1

Возможно ли в Excel с помощью VBA добавить правило условного форматирования, которое использует формулу: =COUNTIF(A1:B1,"*9.65*")?Условное форматирование с использованием COUNTIF

+2

Используйте запись макросов и посмотреть, если это возможно (то есть то, что вы пробовали?) – ApplePie

+1

Когда дело доходит до условного форматирования, вы должны быть очень осторожны, что записи макросов выплевывают. [ЗДЕСЬ] (http://stackoverflow.com/questions/19183902/conditional-formatting-excel-document-via-vb6-issue-with-overwriting-formats) - это сценарий, в котором он запутывает его. [ЗДЕСЬ] (http://stackoverflow.com/questions/20143603/vba-excel-apply-conditional-formatting-to-blank-cells) - еще один пример того, как использовать формулы в условном форматировании. Если вы выполните поиск stackoverflow, вы найдете много примеров того, как использовать формулу в условном форматировании. –

+2

Можете ли вы объяснить, что вы ожидаете от формулы? Являются ли значения в числах A1: B1? 'COUNTIF' не допускает подстановочные знаки с номерами –

ответ

0

VBA делает быстрее то, что вы можете делать вручную, ничего больше (ну, это что-то еще, но это только для экспертов :)).

Ответ на ваш вопрос: да, если вы можете сделать это вручную, иначе.

Вы пытаетесь вручную сделать нужное форматирование, выбрав диапазон и нажав любую кнопку форматирования или выбрав каждую ячейку и применив ее цвет вручную, один за другим. Сделайте это во время записи макроса, и если вы можете сделать это вручную, вы можете сделать функцию VBA, чтобы сделать это за вас быстро.

Записанный макрос, скорее всего, не сработает для вас, но станет хорошей отправной точкой для вашего реального рабочего макроса.

0

Как указывалось другими, вы можете просто записать макрос, чтобы получить приблизительный код, который вам нужен.

' For this example, the cell references are hard coded. Edit as required. 
Range("D1:D4").Select 
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _ 
    "=COUNTIF(A1:B1,""9.65"")" 
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
With Selection.FormatConditions(1).Interior 
    ' This is the style that you apply to each cell. 
    .PatternColorIndex = xlAutomatic 
    .ThemeColor = xlThemeColorAccent6 
    .TintAndShade = 0 
End With 
Selection.FormatConditions(1).StopIfTrue = False 
Смежные вопросы