Excel VBA从阵列向雷达图表添加系列

时间:2016-05-23 20:41:19

标签: excel vba charts series

我在使用VBA添加系列制作填充雷达图时遇到了麻烦。可能有更好的方法来做到这一点,但要构建所需的图表(没有 VBA),我在工作表中创建一个表(120,12),添加一个"填充的雷达& #34; A1:L120范围内的图表,然后手动更新公式栏:

AS

我们的想法是每列中只有11个值为非零,使得图表看起来像这样:

这里是我通常用来制作图表的范围的前3列的一个不好的例子:

我希望能够在VBA中执行此操作,但不是从工作表中的某个范围中获取值,而是来自(120,12)数组 。我已经阅读了几个具有相似意图的不同页面,但我还没有看到解决此特定问题的页面。一个大问题是每个SERIES需要来自我的数组中的单个列,并且许多页面说它不可能从数组中拉出单个列以放入= SERIES函数。

总的来说,我正在努力解决的一个大问题是使用数组中的值填充图表。非常感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

This post partially answers the question

我设置了如下图所示的数据。

Data Picture

然后,以下代码创建具有多个系列的图表。

Sub CreateChartFromArray()

Dim c As Chart
Dim s As Series
Dim myData As Variant

ActiveSheet.Shapes.AddChart.Select
Set c = ActiveChart
ActiveChart.ChartType = xlRadar

For i = 1 To 12
myData = Range(Cells(1, i), Cells(101, i)).Value
    Set s = c.SeriesCollection.NewSeries()
    s.Values = myData
Next

End Sub