你好,那里的好心人。
我想从我编写的函数中绘制一些数据。我的函数调用一个数组和几个单元格。然后它执行一些计算。我想沿x轴绘制日期,沿y轴绘制数据。两者都将是'As Double'。
我找不到有关SetSourceData Source的信息:=不是来自一系列细胞,而是来自函数内执行的计算。
我想在我的折线图中输入两个数组。
要解决这个问题,我想我可以将两个列数组返回到Excel中(不理想,但如果它有效,我很高兴)。这是我尝试返回日期(以年为单位)。在我的电子表格中,我突出显示单元格A1:A1001并输入“= Arr()”并按shift + ctrl + enter。它反复填充细胞A1:A1001和1946(第一年)。
再次感谢你们。我会保持手指交叉:o)
Function Arr() As Variant
Dim q() As Double
ReDim q(1 To 1001)
q(1) = 0
Dim dq As Double
dq = 0.001
For G = 2 To 1001
q(G) = q(G - 1) + dq
Next G
Dim DTE() As Variant
ReDim DTE(1 To 1, 1 To 1001)
For k = 1 To 1001
DTE(1, k) = (q(k) * 64) + 1946
Next k
Arr = DTE
End Function
答案 0 :(得分:0)
这不是您直接问题的答案,而是您希望绘制范围以外的数据。
您可以将数组分配给Chart.SeriesCollection(#).Values
属性
为了演示,将图表放在名为Chart 1
的活动组中并运行此代码
Sub zx()
Dim ch As Chart
Set ch = ActiveSheet.ChartObjects("Chart 1").Chart
ch.SeriesCollection(1).Values = Array(1, 3, 5, 7, 11, 13, 17, 19)
ch.SeriesCollection(1).XValues = Array(5#, 6.3, 12.6, 28, 50)
End Sub