VBA Excel - 设置来自内存的图表数据

问题描述:

在Excel中,通过VBA,是否可以通过内存中的数据设置图表数据?例如,如果你在VBA [1,2,3,4,5,6 ...]中创建了一个数组,你可以在工作簿显示中有一个图表吗?VBA Excel - 设置来自内存的图表数据

谢谢 - KC

是的,这里有一个简单的例子...

Sub test() 

    Dim vXVals As Variant 
    Dim vVals As Variant 

    vXVals = Array("Wk1", "Wk2", "Wk3") 
    vVals = Array(100, 175, 150) 

    With ActiveSheet.ChartObjects.Add(Left:=Range("B2").Left, Top:=Range("B2").Top, Width:=360, Height:=210).Chart 
     With .SeriesCollection.NewSeries 
      .Name = "Series Name" 
      .XValues = vXVals 
      .Values = vVals 
     End With 
    End With 

End Sub 

希望这有助于!

+0

非常棒!我担心这会是一些超级复杂的内存/保持数据对象的范围东西....谢谢! – keynesiancross

+0

一个后续问题 - 你知道是否有办法将数据附加到该图表后来没有再次提供整个数组?我最初设置它的数组需要一些时间来运行,但是想要在传入数据时附加它。 – keynesiancross

+0

明白了 - test = ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Values – keynesiancross