使用VBA将数据点添加到Excel图表

使用VBA将数据点添加到Excel图表,vba,excel,Vba,Excel,我有一个图表对象,有3个系列。该系列获得C1:C10、D1:D10和E1:E10范围内的Y值。该值取决于A1:A10中的值(例如C1=A1+6);但我正在用B1:10(对数正态图)中的值绘制图表 我正在用VBA计算这些值。由于A1:A10中只有离散的点数,我想在图表中添加一些额外的兴趣点。因此,如果A1:A10包含整数1到10,我想绘制一个类似3.5的十进制数字,而不必向工作表中添加任何新行 环顾四周,我认为这可能与Extend方法()有关,但我不确定如何: 扩展特定系列(如仅向系列C1:C10

我有一个图表对象,有3个系列。该系列获得C1:C10、D1:D10和E1:E10范围内的Y值。该值取决于A1:A10中的值(例如C1=A1+6);但我正在用B1:10(对数正态图)中的值绘制图表

我正在用VBA计算这些值。由于A1:A10中只有离散的点数,我想在图表中添加一些额外的兴趣点。因此,如果A1:A10包含整数1到10,我想绘制一个类似3.5的十进制数字,而不必向工作表中添加任何新行

环顾四周,我认为这可能与Extend方法()有关,但我不确定如何:

  • 扩展特定系列(如仅向系列C1:C10和D1:D10添加点
  • 如何添加数据点而无需 需要将单元格添加到 工作表
  • 任何帮助都将不胜感激。
    谢谢

    问题2

    可以使用序列对象上的“值”特性设置单个序列上的值

    但是,在“帮助”中,它指出序列中的值可以是

    工作表上的范围或常量值数组

    但不是两者都有

    这意味着,如果要将序列值指定为一个范围,例如C1:C10,那么我认为如果要在序列中添加数据点,就必须添加单元格

    如果不想添加单元格,则必须将所有值指定为数组常量

    问题1

    要向特定序列添加数据点,我相信您必须选择序列,并修改XValues属性

    示例:

    将这些数据放在Excel的“Sheet1”中,并将其绘制为“Chart1”。y1为系列1,y2为系列2,y3为系列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或“y2”),并将Value属性设置为“C2:C5”

    我们还将更改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)
    
    注意:

    我们可以将值作为范围,将xvalue作为数组常量,反之亦然

    我们也可以将value和xvalue都作为范围,或者两者都作为数组常量

    我们不能将值作为范围和数组常量

    我们不能将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)