如何使用单元格值来定义图表数据的范围?

我有一组500个单元格,我使用下面的范围定义创build了一个图表:

=Sheet1!$A$1:$A$500 

我有2个单元格B1B2中,我想定义开始和结束值(1-500内)的图表只显示我的数据的一个子集(假设从20到200)。

如何引用单元格B1B2来取代我的数据范围定义中的$1$500

一般来说,您应该使用在定义图表系列的SERIES函数中使用的OFFSETCOUNTA帮助来使用具有计算的命名范围的dynamic图表。

这里有很多解释,但是这里是我自己创build的员工培训示例文件: https : //www.dropbox.com/s/5enub45nn4y36gz/DynamicCharts4Types.xlsx

它包括4种不同types的应用dynamic,如显示最后的X点,从X到Y的显示点等。要查看魔术,请转到function区Formulas > Name Manager并检查如何定义不同的范围。

如果我已经正确理解你的查询,那么你可以使用.SetSourceData并添加来自B1B2的值

这是一个例子

 Option Explicit '~~> Please amend the code as applicable Sub Sample() Dim objChrt As ChartObject Dim chrt As Chart Dim StartVal As Long, endVal As Long With Sheets("Sheet1") StartVal = .Range("B1").Value endVal = .Range("B2").Value Set objChrt = .ChartObjects("Chart 1") Set chrt = objChrt.Chart chrt.SetSourceData (.Range("A" & StartVal & ":A" & endVal)) End With End Sub 

截图

在这里输入图像说明