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

时间:2013-02-15 17:10:50

标签: excel reference range cell

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

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

我有2个单元B1B2,我想在其中定义图表的起始值和结束值(在1-500内),以便仅显示我的数据的子集(让我们说来自20至200)。

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

2 个答案:

答案 0 :(得分:9)

通常,您应该使用带有计算的命名范围的动态图表,并在OFFSETCOUNTA函数中使用SERIES的帮助来定义图表系列。< / p>

这里几乎可以解释,但这是我自己为员工培训创建的示例文件:https://www.dropbox.com/s/5enub45nn4y36gz/DynamicCharts4Types.xlsx

它包括4种不同类型的应用动态,例如显示最后X点,显示从X到Y的点等。要查看魔法,请转到功能区Formulas > Name Manager并检查如何定义不同的范围。

答案 1 :(得分:3)

如果我已正确理解您的查询,那么您可以使用.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

<强>截图

enter image description here