2012-05-31 3 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

Единственный сценарий, когда диаграмма не учитывает число, когда число хранится в виде текста. См Snapshot

enter image description here

Как знать, если число хранится в виде текста, и как мы ее исправить?

Если вы используете Excel 2003, тогда перейдите в меню Tools | Options. Под вкладкой Error Checking убедитесь, что установлен флажок Number Stored as text.

В Excel 2007/2010, нажмите на Excel Options, которые могут быть доступны из Office Icon в Excel 2007 или Options в File Tab в Excel 2010.

Перейдите на вкладку Formulas и убедитесь, что установлен Numbers formatted as text or preceded by an apostrophe.

Если вышеуказанный флажок установлен, вы увидите небольшой Зеленый треугольник, как показано в снимок выше. Выберите весь диапазон, начиная с 1-я ячейка, которая имеет Зеленый треугольник. Нажмите на Exclamation mark. Нажмите на Convert to number, и все готово.

enter image description here

+0

Спасибо за ваш Indepth и продумано ответ, и на мой последний вопрос XD. Просто обновление, хотя это была блестящая идея, это не проблема. Я создал модуль, который будет принимать все значения и сделать их равными себе. Глупый я знаю, но это единственное, что сработало. Спасибо!! – EbilGenius

+0

Откуда взялись данные? Был ли он импортирован из-за пределов Excel? Прежде чем вы запустили этот маленький макрос, были ли ячейки форматированы как текст? Было ли содержание лево-оправданным, как текст или право-оправдано, как номера? –