我将其加载到图表中 选择数据字段 ='Metrics Test 2.xlsx'!ROFPS_Range 并且图表工作正常。如果我更改范围,则公式将更改为 ='UW ATO'!$B$10:$B$15,并且系列名称将丢失。现在图表范围是静态的,我需要动态的 我如何保留原始公式?
答案1
我有同样的问题。我刚刚使用 VBA 重置了图表的数据源。这不是最灵活的代码,但它解决了我的问题。需要说明的是,我的数据和图表位于名为 outputchart 的选项卡中。该数据源称为 rngChartData,这是一个使用通常的 OFFSET 构造的动态范围
Sub UpdateChart()
Sheets("outputchart").Activate
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.SetSourceData Source:=Range("rngchartdata")
End Sub
答案2
几周前我遇到了同样的问题。Excel 似乎无法记住图表/图形数据范围的动态名称。我发现的唯一解决方法是创建数据透视图。
- 根据表格范围内的数据
'UW ATO'!$B$10:$B$15
(或您想要的长度)创建数据透视表,并确保包含包含轴标签的相邻列。 - 将轴标签放在行字段中,将值放在数据透视表的值字段中。
- 在行标签上放置过滤器以排除空标签(包含
?
对我有用,但不同的数据类型可能需要不同的解决方案)。 - 根据数据透视表添加数据透视图。
缺点是这个数据透视图需要手动刷新。我最终添加了一个 VBA 按钮来基于宏录制器执行此操作:
ThisWorkbook.Sheets("UW ATO").PivotTables("YOUR PIVOT TABLE NAME").PivotCache.Refresh
但实际上,我希望有人有更好的解决方案。