2014-08-28 3 views
0

Моя цель - условное форматирование. Для диапазона B2: B21 мне нужно выделить все значения, которые не находятся между значением D2-C2 (среднее значение минус std dev) и D2 + C2 (avg plus std dev). Я не мог заставить это работать, поэтому записал его. Но вместо hardcoding значение (28, 40) в формуле 1 и формуле 2, я хочу значения D2-C2 и D2 + C2. Есть ли подсказки, как это сделать?Как представить значение разности двух ячеек в vba?

Sub Conditionalformatting() 

Range("B2:B21").Select 
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlNotBetween, _ 
    Formula1:="=28", Formula2:="=40" 
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
With Selection.FormatConditions(1).Interior 
    .PatternColorIndex = xlAutomatic 
    .ColorIndex = xlAutomatic 
End With 
Selection.FormatConditions(1).StopIfTrue = False 
End Sub 

enter image description here

ответ

1
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlNotBetween, _ 
    Formula1:="=$D$2-$C$2", Formula2:="=$D$2+$C$2" 

Полный Macro

Sub ColorMe() 
Selection.FormatConditions.Delete 
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlNotBetween, _ 
    Formula1:="=$D$2-$C$2", Formula2:="=$D$2+$C$2" 

    With Selection.FormatConditions(1).Interior 
     .PatternColorIndex = xlAutomatic 
     .Color = 13551615 
     .TintAndShade = 0 
    End With 
Selection.FormatConditions(Selection.FormatConditions.Count).StopIfTrue = False 

End Sub 
+0

Спасибо, но этот макрос выделит все ячейки из B2: B21 .. –

+0

Обновлено с правильным ответом! – EvenPrime

+0

Выучил много сегодня, он сработал! =) –

1
formula1=cells(2,4).value-cells(2,3) 
formula2=cells(2,4).value+cells(2,3) 

Это должно сделать работу.

+0

Пробовал это, работал красота! –

Смежные вопросы