2016-12-30 4 views
0

Я пытаюсь написать сценарий VBA, который добавляет в условное форматирование databar для диапазона. Я написал код ниже, однако, я не знаю, как изменить цвет databar и предоставить ему разные оценки.Форматирование объекта databar

Как ни странно, когда я установил minpoint 0, она работает, но я не могу установить maxpoint к указанной переменной (установлен тип integer). Где я иду не так?

Set bar = rangeTest.FormatConditions.AddDatabar 

'assign max value + 1 for databar upper bound 
maxValue = Application.WorksheetFunction.Max(rangeTest) + 1 

With bar 
    .BarFillType = xlDataBarFillSolid 
    .BarColor = RGB(189, 215, 238) 'error thrown here (Object doesn't support this property) 
End With 

With rangeTest.FormatConditions(1) 
    .MinPoint.Modify newtype:=0 'xlConditionValueAutomaticMin 
    .MaxPoint.Modify newtype:=xlConditionValueAutomaticMax 'error thrown here (invalid procedure call) 
End With 

ответ

1

вы должны использовать:

  • Color свойство FormatColor объекта, возвращенного BarColor собственности

  • xlConditionValueNumber и newvalue аргументы Modify() метода в ConditionValue объекта возвращаемые MaxPoint собственности

так что ваш код будет:

With bar 
    .BarFillType = xlDataBarFillSolid 
    .BarColor.Color = RGB(189, 215, 238) 
End With 

With rangeTest.FormatConditions(1) 
    .MinPoint.Modify newtype:=0 'xlConditionValueAutomaticMin 
    .MaxPoint.Modify newtype:=xlConditionValueNumber, newvalue:=maxValue  
End With 
Смежные вопросы