2012-05-31 84 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之外的某個地方導入的嗎?在你運行這個小宏之前,單元格的格式是文本嗎?內容是否像文本或右對齊數字那樣左對齊? –