2013-02-15 67 views
3

我有从中我已经创建使用以下范围的定义的图的一组500个细胞:如何使用单元格值来定义图表数据的范围?

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

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

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

+1

http://office.microsoft.com/en-us/excel-help /using-named-ranges-to-create-dynamic-charts-in-excel-HA001109801.aspx – 2013-02-15 17:31:17

回答

9

在一般情况下,你应该使用动态图表与计算命名区域OFFSET帮助和COUNTASERIES功能定义图表系列中。

这几乎是在这里解释,但这里是我自己的样本文件对员工进行培训创建:https://www.dropbox.com/s/5enub45nn4y36gz/DynamicCharts4Types.xlsx

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

+0

示例文件非常棒,只需分享+1即可! – 2013-02-15 17:52:49

+0

@MaksGordeev谢谢,不客气! – 2013-02-15 17:55:47

3

如果我明白你的查询正确,则可以使用.SetSourceDataB1B2

这里添加的值是一个例子

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

+2

对不起,这意味着我不想使用VBA – Max 2013-02-17 21:48:37

相关问题