2010-07-09 47 views
1

我做了一個XY圖,顯示來自兩個不同顏色的數據集中的點,具體取決於一組條件。我通過使源表三列而不是兩個來實現這一目標。第一列是X.第二列是Y是適用的一組條件,第三列是Y是另一組適用的條件。因此,第二和第三列分別具有這樣的公式在其中,:圖總是抱怨無效的參考 - Excel 2007

=IF(ConditionApplies,YValue,"") 
=IF(ConditionApplies,"",YValue) 

(因此該圖實際上有兩個系列,其中每一個是不是數字的連續塊 - 每個散佈有「無」)

當我做出影響ConditionApplies的更改時,表格反應正常。然後我切換到圖表(在不同的工作表上),它總是說:「此工作表中的公式包含一個或多個無效引用......」。點擊確定。

根據我設計的條件,圖表本身總是看起來像我期望的樣子,有兩組不同的點。如果我檢查數據源字段,則所有引用都是完整正確的。

基本上一切正常,我只想避免這個惱人的彈出窗口。

回答

1

我100%理解你在這裏所說的一切,從表面上看,它聽起來像沒有任何一種錯誤。看起來你實際上是在引用你不應該的東西。事實上,如果是這種情況,那顯然是你想要解決的問題。

我的第一個猜測是看看你的「ConditionApplies」公式。在某些情況下,他們是否會創建無效的引用(引用錯誤類型的數據,除以零,循環引用等)。像這樣的問題最常見的原因將拖動公式,但沒有在適當的地方「$」的跡象。所以當你期望他們保持不變時,你的單元格引用會改變。

例如:

=SUM(A1:G25) 

應該像下面,防止列和行從拖時遞增:

=SUM($A$1:$G$25) 


建議

看那「ConditionApplies」公式(或更好的,在這裏發佈)和a在任何他們不會破壞事物的地方都可以放置美元$。然後「重新拖動」你的新公式,更新以前的公式。

+0

嗨,問題已解決。我不是100%確定最初的根本原因。我大量使用範圍名稱,所以儘管關於絕對地址的建議很好,但它並不直接適用於我的情況。但是,我在VBA代碼中生成了一些命名範圍,我認爲其中一個過度擴展了一行。我認爲這是根本原因,但不能證明這一點。現在代碼全部整理完畢,它就像一個魅力。謝謝! – KnomDeGuerre 2010-07-10 00:01:02

+0

沒問題,很高興你能工作!有時候,我希望有一種方式可以通過Excel的錯誤,逐步找出確切的失敗點,就像軟件一樣。通常,我最終必須手動完成 - 將棘手的公式或VBA函數分解爲小部分並對每個部分進行測試。如果這個問題出現了,我會開始把你的VBA代碼分解成原子部分,做出只做一件事的簡短函數。然後,通過調試器逐步測試並查明問題變得非常容易。希望有所幫助。 – gMale 2010-07-10 00:14:37

0

有一個微軟KB 931389!關於狀態「已確認,未固定」的這個問題。

在我的圖表和兩個系列的採集問題情境中加入代碼添加新數據之前刪除所有的SeriesCollection解決:

While Sheets(3).ChartObjects(1).Chart.SeriesCollection.Count > 0 
    Sheets(3).ChartObjects(1).Chart.SeriesCollection(Sheets(3).ChartObjects(1).Chart.SeriesCollection.Coun t).Delete 
Wend 
2

有同樣的問題。刪除了一個數據列和引用它的圖表不停地抱怨。

解決方案是將圖表移動到自己的頁面。然後複製圖表並將其放回工作表。

希望它有幫助。