У меня есть столбец в Excel, содержащий положительные и отрицательные числа, и я делаю панель данных.Я хотел бы, скажем, у меня есть 55, 24, 0, -10 и -45 55, которые будут полностью заполнены максимальным диапазоном зеленой полосы и -45 то же самое, но красным.Это код VBA, который у меня есть:
Это визуализация, которой я хочу достичь:
DataBar
||||||||||||(зеленый) 12
||||||(зеленый) 6
||||||||||(красный) -10
||||||||||||||(красный) -14
и т. д. .....
Function UpdateAmountBars(rng As Range)
Dim min As Double, max As Double
Let min = Application.min(rng)
Let max = Application.max(rng)
rng.FormatConditions.AddDatabar
rng.FormatConditions(rng.FormatConditions.Count).ShowValue = True
rng.FormatConditions(rng.FormatConditions.Count).SetFirstPriority
With rng.FormatConditions(1)
.MinPoint.Modify newtype:=xlConditionValueAutomaticMin
.MaxPoint.Modify newtype:=xlConditionValueAutomaticMax
End With
With rng.FormatConditions(1).BarColor
.Color = RGB(100, 255, 100)
.TintAndShade = 0
End With
rng.FormatConditions(1).BarFillType = xlDataBarFillGradient
rng.FormatConditions(1).Direction = xlContext
rng.FormatConditions(1).NegativeBarFormat.ColorType = xlDataBarColor
rng.FormatConditions(1).BarBorder.Type = xlDataBarBorderNone
With rng.FormatConditions(1).NegativeBarFormat.Color
.Color = RGB(255, 100, 100)
.TintAndShade = 0
End With
End Function
, и это результат кода: VBA DataBAR положительный отрицательный
Обновление: у меня есть некоторый прогресс, теперь панели данных выглядят хорошо, но я не хочу делить ячейки
Function UpdateAmountBars(rng As Range)
Dim min As Double, max As Double, databar As databar
Let min = Application.min(rng)
Let max = Application.max(rng)
Set databar = rng.FormatConditions.AddDatabar
databar.AxisPosition = xlDataBarAxisAutomatic
rng.FormatConditions(rng.FormatConditions.Count).ShowValue = True
rng.FormatConditions(rng.FormatConditions.Count).SetFirstPriority
With rng.FormatConditions(1)
.MinPoint.Modify newtype:=xlConditionValueAutomaticMin, newvalue:=min
.MaxPoint.Modify newtype:=xlConditionValueAutomaticMax, newvalue:=max
End With
With rng.FormatConditions(1).BarColor
.Color = RGB(100, 255, 100)
.TintAndShade = 0
End With
rng.FormatConditions(1).BarFillType = xlDataBarFillGradient
rng.FormatConditions(1).Direction = xlContext
rng.FormatConditions(1).NegativeBarFormat.ColorType = xlDataBarColor
rng.FormatConditions(1).BarBorder.Type = xlDataBarBorderNone
With rng.FormatConditions(1).NegativeBarFormat.Color
.Color = RGB(255, 100, 100)
.TintAndShade = 0
End With
End Function
это результат обновления: Данные VBAось стержняPosition