条件格式会改变数字格式--真的会吗?

条件格式会改变数字格式--真的会吗?

设置

我有两条适用于单元格区域的条件格式规则。规则如下:

=R1C1="something"-> 将数字格式设为数字

=R1C1<>"something"-> 将数字格式设为百分比

它起作用了:单元格R1C1上有数据验证,所以当我改变值时,单元格范围内的数字格式也会相应改变。

问题

我有一张与上述范围相关的图表。该图表的垂直轴不会随着这些单元格上的数字格式而改变。它会保留这些单元格的“硬设置”数字格式(我所说的“硬设置”是您使用数字格式控件设置的格式)。

如何让图表根据其数据范围的数字格式更改其垂直轴的数字格式?

答案1

使用虚拟专用网络,假设您的格式变量在单元格中A1,并且您的图表名为“图表 1”,那么以下是解决方案的代码框架:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("A1") Then
    If [A1] = 1 Then
    ActiveSheet.ChartObjects("Chart 1").Activate
    ActiveChart.Axes(xlValue).Select
    Selection.TickLabels.NumberFormat = "00.00"

    ElseIf [A1] = 2 Then
    ActiveSheet.ChartObjects("Chart 1").Activate
    ActiveChart.Axes(xlValue).Select
    Selection.TickLabels.NumberFormat = "$0"

    Else 
    ActiveSheet.ChartObjects("Chart 1").Activate
    ActiveChart.Axes(xlValue).Select
    Selection.TickLabels.NumberFormat = "0.00%"

    End If

    Range("A1").Select

End If

End Sub

相关内容