设置
我有两条适用于单元格区域的条件格式规则。规则如下:
=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