【问题标题】:Adding an Excel Data bar to one cell that is entirely based on the value of another cell将 Excel 数据栏添加到一个完全基于另一个单元格的值的单元格
【发布时间】:2015-01-16 11:02:43
【问题描述】:

如果我有一个值,例如单元格 A1 中的 10 和单元格 A2 中的百分比,例如 40%。我是否可以在单元格 A1 中添加一个数据栏(最小 -100%,最大 100%),它基于单元格 A2 为 40%,完全不考虑单元格 A1 为 10?

我知道我可以设置最小值和最大值来查看另一个单元格,但我不确定实际的数据栏值。

【问题讨论】:

    标签: excel conditional-formatting


    【解决方案1】:

    伸出我的脖子,不,不是“本机”条件格式。例如,设置一个数据栏并将该格式复制到银行单元格中 - 它将不起作用(除了覆盖那里已经存在的任何格式)。接下来在该单元格中添加一个值 - 您现在应该会看到一个数据栏。

    来自不同单元格的最小值和最大值设置了界限,但规则需要一个数据点来确定条形的实际大小,而不是相对大小。该数据点来自格式化单元格,不能从其他地方驱动。

    【讨论】:

    • 我当然没有找到方法,但如果有的话我很想知道。
    【解决方案2】:

    您可以使用 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多