来自 VBA 而不是单元格的图表数据

ano*_*mou 1 excel vba excel-charts

我想知道是否可以从 VBA 代码将数据设置为图表,而不必将其设置为一堆单元格。

为此,它可以绘制任何内容……甚至是随机数。但我不想使用任何单元格来粘贴值,然后图表获取这些值。

[我的应用程序有一张表,上面有很多字母“M”(维护)、“O”(操作)和“A”(可用),代表一年中的每一天,来自一堆设备。我对设备进行一些 VBA 过滤,以获得一些我想要绘制的内容,并希望根据“M”、“O”和“A”数量进行一些计算。]

Ror*_*ory 5

这是一个简单的例子:

Sub AddChart()
    Dim cht     As Chart
    Dim ser     As Series

    Set cht = Charts.Add
    cht.ChartType = xlColumnClustered
    Set ser = cht.SeriesCollection.NewSeries
    ser.XValues = Array(1, 3, 5, 7, 9)
    ser.Values = Array(2.4, 3.2, 5.7, 12.67)
End Sub
Run Code Online (Sandbox Code Playgroud)

您必须注意,某些版本(我认为是 2003 年及之前的版本)中图表的 SERIES 公式仅限于 1024 个字符。2010年好像限制在8192个字符。这意味着,如果您对数据使用文字值(而不是范围),则每个字符都包含在公式中 - 因此您指定的小数位数越多,数据点越多,代码失败的可能性就越大。