使用 VBA 将多个数据系列添加到 Excel 图表

Mar*_*n H 4 excel charts vba

假设我的数据按行排列,并且我想从中创建图表(x,y 散点图)。

date    1.1. 1.2. 1.3. 1.4 1.5
set1    12  36  12  23  33
set2    44  22  11  1   13
set3    54  5   56  56  34
set4    1   2   6   12  33
Run Code Online (Sandbox Code Playgroud)

如何将 set1、set2 和 set4 而不是 set3 添加到图表中,而不必一个接一个地选择它们?

对于 x 范围(日期),我可以做

Dim xrange As Range
Set xrange = Application.InputBox("select x-range", "Get Range", Type:=8)
Run Code Online (Sandbox Code Playgroud)

但是对数据集(选择多行)做同样的事情是行不通的,因为散点图中的每个系列都需要一个单独的范围

   ActiveChart.SeriesCollection(1).XValues = xrange
   ActiveChart.SeriesCollection(1).Values = "=Sheet1!$4:$4"
Run Code Online (Sandbox Code Playgroud)

但我有多个数据集的选择。我需要一种方法来从我的输入框选择中拆分范围并将它们写入唯一变量。然后我会使用上述方法为每个 xrange + 变量对添加一个新系列。

有没有办法做到这一点?

一个潜在的答案不需要坚持我上面发布的内容,欢迎提出任何建议。

bou*_*err 5

设置源数据范围。Excel 将自动为您创建系列。在下面的示例中,我将 A 列作为 X,B 列作为 Y1,D 列作为 Y2:

ActiveChart.SetSourceData Source:=Range("A1:B4,D1:D4")
Run Code Online (Sandbox Code Playgroud)