2010-07-09 51 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

有同样的问题。删除了一个数据列和引用它的图表不停地抱怨。

解决方案是将图表移动到自己的页面。然后复制图表并将其放回工作表。

希望它有帮助。