2013-02-15 24 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

相關問題