2017-10-12 100 views
1

我遇到了奇怪的問題。我已經命名的範圍SomeName命名範圍在圖表中恢復到正常範圍

=OFFSET(Source!$B$29:$C$29,1,0, COUNTIF(Source!$B$30:$B$55, "<>x"),2) 

然後我試圖在圖表作爲圖表數據範圍:

=Source!SomeName 

據,它工作得很好。但是,當我切換到表單源並返回時,我意識到數據範圍回到了正常範圍=源!$ B $ 30:$ C $ 33。我想我可以用宏來解決它(比如當有人激活工作表時,每次設置命名範圍爲圖表),但必須有其他方法。 無論如何知道如何使它沒有VBA?

回答

0

您無法將整個圖表源數據設置爲動態範圍。它將始終轉換爲硬編碼值。你可以做的和將要工作的是爲圖表中的每個系列創建命名範圍,而不是手動添加它(更多信息請參見this網站)。這樣你的圖表就會有些動態。但是,通過使用宏來獲得你想要的最好的方法。類似於此代碼...

Sub Test() 
    Dim CHARTDATA As Range 
    Set CHARTDATA = Range(or your dynamic range) 
    ActiveSheet.ChartObjects("Chart 1").Chart.SetSourceData Source:=CHARTDATA 
End Sub 
+0

謝謝,所以它是功能,而不是一個錯誤。令人失望的是,不是嗎? – MarcinSzaleniec

+0

是的,我之前正在處理這個問題,同時也對這個功能是不可能的感到失望...... –