【发布时间】:2020-04-14 04:54:43
【问题描述】:
我目前正在尝试创建一个动态图形代码,该代码读取 5 个数组并将它们绘制在散点图上。我已经编写了代码并读取了 5 个数组。
我不知道如何应用必须在 Excel 中绘制的数据。我正在一个函数中完成这项任务。这是我目前拥有的:
Function Graph(ByRef int1 As Variant, ByRef int2 As Variant, ByRef int3 As Variant, _
ByRef int4 As Variant, ByRef int5 As Variant)
Dim c As Chart
Dim srs As Series
Dim xValues As Variant
Dim yValues As Variant
Set c = ActiveChart
'Set srs = cht.SeriesCollection.NewSeries
xValues = Application.Index(int1, 0, 1)
yValues = Application.Index(int1, 0, 2)
With ActiveChart.SeriesCollection
.xValues = xValues
.Values = yValues
End With
End Function
我正在尝试使用以前存在的图表。代码需要能够使用当前选择的图表并按指示绘制数据。
如果您需要任何其他信息,请告诉我。
附加信息:我从一个空白图表开始,它将接受数组作为系列信息(这将反过来填充图表)。如果更容易,我可以使用 VBA 创建图表。我试图避免手动编辑系列范围。我试图避免这种情况,因为 Excel 绘制由方程式控制的“空白单元格”。我曾尝试制作具有大系列范围的图表,但 Excel 会绘制所有值的图表。
这甚至考虑了说不绘制空白单元格的复选框。
我有一个读取值并处理主代码的主函数。我要将此宏绑定到电子表格中嵌入的按钮。
【问题讨论】:
-
旁注:这应该是
Sub而不是Function- 你没有返回任何东西。 -
有一整套关于您到底想要做什么的问题:您是将五个数组作为系列附加到现有数据系列,还是替换现有数据系列?现有数据系列是否已定义为工作表上的单元格区域?如果是这样,您只需将工作表上的数据替换为数组中的数据,图表就会自动更新。即使您要向图表附加其他系列,您也可以将数组数据放入某个工作表范围,然后将这些范围添加到图表中。
-
您是否打算将此函数用作从工作表单元格调用的 UDF?那是行不通的。
-
你到底传递了什么?如果传入范围,则可以直接将它们绘制为 X 和 Y 值。