如何将相对引用合并到VBA宏中

时间:2010-12-07 21:17:06

标签: excel-vba vba excel

我正在尝试为我学校的每个学生创建400个图表。循环数据在A..E列中设置,第1行中有数据标签,然后每个学生的数据出现在连续的行中(2-400)

我创建了一个for / next循环,逐步遍历每一行数据,并为每个学生创建一个雷达图(使用一个名为CR3的用户定义图)。

For num = 3 To 400
Range("A1:E1").Select
    ActiveCell.Offset(num, 0).Range("A1").Activate
Charts.Add
ActiveChart.ApplyCustomType ChartType:=xlUserDefined, TypeName:= _
    "CR3"
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A1:E1,A" & num & ":E" & num,)
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1

我现在想在图表中添加一系列新信息。新信息显示在每个学生的H至L栏中。如何将新系列添加到启动的行中(Active.chart.setsourceData Source ...)

2 个答案:

答案 0 :(得分:0)

创建图表后,添加以下行

ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).Name = "=""Series 2 Name"""
ActiveChart.SeriesCollection(2).Values = "='Sheet1'!$B$1:$B$6"  

HTH!

答案 1 :(得分:0)

非常有帮助,让我思考。我最终使用以下代码获得了它

ActiveChart.ApplyCustomType ChartType:=xlUserDefined, TypeName:= _
    "CR3"        
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Name = Sheets("Sheet1").Range("Am" & num)
ActiveChart.SeriesCollection(1).Values = Sheets("Sheet1").Range("b" & num & ":e" & num)

ActiveChart.SeriesCollection(2).Name = Sheets(“Sheet1”)。Range(“Aq”& num) ActiveChart.SeriesCollection(2).Values = Sheets(“Sheet1”)。Range(“I”& num&“:L”& num)

注意“AM”,“b”,“e”,“aq”,“i”和“L”是数据所在的列。

如果没有你的帮助,我永远无法得到它。感谢。