2009-09-22 3 views
3

У меня есть объект диаграммы с 3-мя сериями. Серия получает значения Y из диапазонов C1: C10, D1: D10 и E1: E10. Значение зависит от значений в A1: A10 (например, C1 = A1 + 6); но я рисую значения против значений в B1: 10 (его график Log-Normal).Добавление таблицы Datapoint в Excel с VBA

Я вычисляю значения в VBA. Поскольку в A1: A10 существует только дискретное число точек, я хотел бы добавить некоторые дополнительные точки интереса к диаграмме. Поэтому, если A1: A10 содержит целые числа от 1 до 10, я хотел бы построить десятичное число, например, 3.5, не добавляя никаких новых строк на рабочий лист.

Глядя вокруг, я предполагаю, что это будет что-то с Продлить метод (MSDN - Extend Method), но я не уверен, как:

  1. Продлить определенный ряд (как только добавить точку в серии С1: С10 и D1:. D10
  2. Как добавить точку данных без , требующей, чтобы добавить ячейку листа

Любая помощь будет ар preciated. Благодаря

ответ

4

Вопрос 2

Вы можете установить значения на индивидуальной серии, используя свойство значения на объекте серии.

Однако в справке говорится, что значения в серии могут быть либо

диапазон на листе или массив значений констант,

но не оба.

Это означает, что если вы хотите указать значения ряда в виде диапазона, такого как C1: C10, то я думаю, вам нужно будет добавить ячейки, если вы хотите добавить точки данных в серию.

Если вы не хотите добавлять ячейку, вы должны указать все значения в качестве постоянной массива.

Вопрос 1

Для добавления точек данных в конкретной серии, я полагаю, вы должны выбрать серию, и изменять значения и XValues ​​ свойства.

Пример:

Поместите эти данные в "Лист1" из Excel и построить график его как "chart1". y1 будет серия 1, y2 будет Series2 и у3 будет серия 3.

 A B  C  D 
1 x y1 y2 y3 
2 1 10 100 400 
3 2 20 200 500 
4 3 30 300 600 

Теперь давайте добавим точку данных y2.

 A B  C  D 
1 x y1 y2 y3 
2 1 10 100 400 
3 2 20 200 500 
4 3 30 300 600 
5 4   1000 

Мы должны выбрать ряд (по количеству или по имени, в данном случае, 2 или «у2») и установить свойство значение «C2: C5»

'using ranges 
Charts("chart1").SeriesCollection("y2").Values = Worksheets("Sheet1").Range("C2:C5") 

'using array constant 
Charts("chart1").SeriesCollection("y2").Values = Array(100, 200, 300, 1000) 

Мы» будет также изменить свойство XValues ​​так, что каждое значение имеет XValue

'using ranges 
Charts("chart1").SeriesCollection("y2").XValues = Worksheets("Sheet1").Range("A2:A5") 

'using array constant 
Charts("chart1").SeriesCollection("y2").XValues = Array(1, 2, 3, 4) 

Примечание:

Мы можем иметь значения как диапазон и XValues ​​в качестве постоянной массива, так и наоборот.

Мы можем также иметь как значения, так и шкалы как диапазоны или оба в качестве констант массива.

We не может имеют значения как диапазон и постоянную массива.

We не может имеет XValues ​​как диапазон и постоянную массива.

Смежные вопросы