使用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方法()有关,但我不确定如何:使用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
谢谢问题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)