【问题标题】:Named range reverts to normal range in chart命名范围恢复到图表中的正常范围
【发布时间】:2018-03-24 04:48:45
【问题描述】:

我遇到了奇怪的问题。我已经命名了范围 SomeName

    =OFFSET(Source!$B$29:$C$29,1,0,  COUNTIF(Source!$B$30:$B$55, "<>x"),2) 

然后我尝试在图表中使用图表数据范围:

=Source!SomeName

到目前为止,它运行良好。但是当我切换到表 Source 并返回时,我意识到数据范围又回到了正常范围 =Source!$B$30:$C$33。我想我可以用宏修复它(比如每次有人激活工作表时将命名范围设置为图表),但必须有其他方法。 无论如何知道如何在没有 VBA 的情况下制作它?

【问题讨论】:

    标签: excel


    【解决方案1】:

    您不能将整个图表源数据设置为动态范围。它将始终转换为硬编码值。您可以做并且将起作用的是为图表中的每个系列创建命名范围,而不是手动添加(有关更多信息,请查看this 站点)。这样你的图表就会有点动态。但是获得你想要的东西的最好方法是使用宏。类似于此代码的东西...

    Sub Test()
        Dim CHARTDATA As Range
        Set CHARTDATA = Range(or your dynamic range)
        ActiveSheet.ChartObjects("Chart 1").Chart.SetSourceData Source:=CHARTDATA
    End Sub 
    

    【讨论】:

    • 谢谢,这是功能,而不是错误。令人失望,不是吗?
    • 是的,我之前处理过这个问题,也很失望这个功能是不可能的......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 2010-11-06
    • 1970-01-01
    • 2018-08-05
    • 2013-08-06
    相关资源
    最近更新 更多