【发布时间】:2015-01-16 11:02:43
【问题描述】:
如果我有一个值,例如单元格 A1 中的 10 和单元格 A2 中的百分比,例如 40%。我是否可以在单元格 A1 中添加一个数据栏(最小 -100%,最大 100%),它基于单元格 A2 为 40%,完全不考虑单元格 A1 为 10?
我知道我可以设置最小值和最大值来查看另一个单元格,但我不确定实际的数据栏值。
【问题讨论】:
标签: excel conditional-formatting
如果我有一个值,例如单元格 A1 中的 10 和单元格 A2 中的百分比,例如 40%。我是否可以在单元格 A1 中添加一个数据栏(最小 -100%,最大 100%),它基于单元格 A2 为 40%,完全不考虑单元格 A1 为 10?
我知道我可以设置最小值和最大值来查看另一个单元格,但我不确定实际的数据栏值。
【问题讨论】:
标签: excel conditional-formatting
伸出我的脖子,不,不是“本机”条件格式。例如,设置一个数据栏并将该格式复制到银行单元格中 - 它将不起作用(除了覆盖那里已经存在的任何格式)。接下来在该单元格中添加一个值 - 您现在应该会看到一个数据栏。
来自不同单元格的最小值和最大值设置了界限,但规则需要一个数据点来确定条形的实际大小,而不是相对大小。该数据点来自格式化单元格,不能从其他地方驱动。
【讨论】:
您可以使用 Gradient 和 ColorStops 伪造数据栏格式。
Dim barValue as Double
barValue = Range("A2").Value
If barValue = 0 Then
barValue = 0.000001
Else If barValue = 1 Then
barValue = 0.999998
End if
With Range("A1").Interior
.Gradient.ColorStops.Clear
With .Gradient.ColorStops.Add(0)
.ThemeColor = xlThemeColorAccent1
End With
With .Gradient.ColorStops.Add(barValue)
.ThemeColor = xlThemeColorAccent1
End With
With .Gradient.ColorStops.Add(barValue + 0.000001)
.ThemeColor = xlThemeColorDark1
End With
With .Gradient.ColorStops.Add(1)
.ThemeColor = xlThemeColorDark1
End With
End With
【讨论】: