2012-05-31 52 views
2

我还有另一个令人困惑的问题,即您可能能够解决的问题之一。所以基本上我有这个代码使用Excel VBA编写线图。它的制作方式可以是动态的,并且可以在添加更多值时进行更改。但它读取的第一个值为0,最后一个值为0,尽管它们不是0.下面是我用来将图形放在页面上的代码。Excel VBA图表无法识别值

Sub createchart4() 

lastA = Range("A1").End(xlDown).Row 
ActiveSheet.Shapes.AddChart.Select 
ActiveChart.ChartType = xlLine 
ActiveChart.SetSourceData Source:=Range("Main!$A$1:$A$" & lastA) 
ActiveChart.ChartTitle.Select 
ActiveChart.SeriesCollection(1).Name = "=Main!$A$1" 
ActiveChart.SeriesCollection(1).Values = "=Main!$A$3:$A$" & lastA 

End Sub 

它说,A3的值为0时,它实际上是1534,它也是阅读A10和A11为0也当他们不同的。

如果你可以算出来,我会感到惊讶:d

回答

3

当图表忽略一个数字是当数被存储为文本的唯一方案。请参见快照

enter image description here

如何知道号码存储为文本和我们如何纠正呢?

如果您使用Excel 2003然后转到菜单Tools | Options。在Error Checking选项卡下,确保选中复选框Number Stored as text

的Excel 2007/2010,点击Excel Options可以从Office Icon在Excel 或OptionsFile选项卡中Excel 2010中访问。

转到Formulas选项卡并确保已选中Numbers formatted as text or preceded by an apostrophe

如果上面的复选框被选中,那么你会注意到一个小的绿色三角如上面的快照所示。选择从1st cell开始的整个范围,其中绿色三角。点击Exclamation mark。点击Convert to number,你就完成了。

enter image description here

+0

谢谢你的深入探讨,并在我的最后一个问题xD。只是一个更新,尽管这是一个好主意,但这不是问题。我制作了一个模块,它将采取所有的价值观,并使它们与自己相等。傻,我知道,但是是唯一的工作。谢谢!! – EbilGenius

+0

数据来自哪里?是从Excel之外的某个地方导入的吗?在你运行这个小宏之前,单元格的格式是文本吗?内容是否像文本或右对齐数字那样左对齐? –