条件格式更改数字格式 - 或者它?


1

设置

我有两个条件格式规则适用于一系列单元格。规则是:

=R1C1="something" - >数字格式为Number

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

它起作用:单元格对其R1C1进行数据验证,因此当我更改该值时,单元格范围内的数字格式会相应更改。

问题

我有一个连接上述范围的图表。此图表的垂直轴不会随这些单元格上的数字格式而变化。它保留了那些单元格的“硬设置”数字格式(我的意思是“硬设置”是您使用数字格式控件设置的格式)。

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


我相信你坚持使用单元格的底层格式 - 除非你用VBA改变它。可能的解决方法可以使用不同的轴作为数字和百分比 - 然后根据您的变量使系列“打开”或“关闭”。也许如果你分享更多更好或不同的选项可以解决。
dav 2017年

这是一个VBA链接,可以帮助您入门msdn.microsoft.com/en-us/library/office/ff841205.aspx
dav 2017年

Answers:


0

使用VBA,并假设您的格式变量在单元格中,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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.