Excel VBA 从数组添加系列到雷达图

Excel VBA Add Series to Radar Chart from Array

我在 VBA 添加系列以制作填充雷达图时遇到问题。可能有更好的方法来构建所需的图表(without VBA),我创建了一个 table 即 (120,12) in一个工作表,在 A1:L120 范围内添加一个 "filled radar" 图表,然后手动更新公式栏,如下所示:

=SERIES("name1",,'Sheet1'!$A:$A0,1)
=SERIES("name2",,'Sheet1'!$B:$B0,2)
etc for 12 more series

我们的想法是每列中只有 11 个值是非零值,制作的图表如下所示:

这是我通常用来制作图表的范围的前 3 列的一个错误示例:

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

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

谢谢!

This post partially answers the question

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

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

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