图表无法显示超过16384个数据点

时间:2017-11-01 11:36:31

标签: arrays excel excel-vba charts datapoint vba

我正在创建一个图表,其中“.Values”基于一个名为“ReliabilityNumber”的数组,该数组来自另一个模块。获得正确的数据点一切正常。但是,只要数组中的元素数量(图表中的“时间步长”)超过16384,该数字上方的数据点就不会显示在图表中。

此外,如果元素数量超过65536,则不再显示图表。

我的看法是它与最大列数(Excel 2007及更新版本为16384)和最大行数(excel 2003及更早版本中为65536)有关。但我无法弄清楚它是什么。我的代码在下面(我在工作时使用Excel 2010,在家里使用2016年,问题是2010年。还没有控制2016年的这个问题):

Dim ReliabilityChart As Object
Dim ReliabilitySeries As Series

Set ReliabilityChart = ActiveSheet.ChartObjects.Add(Left:=300, Width:=500, Top:=10, Height:=300)
    With ReliabilityChart
    .Chart.Type = xlLine
    .Left = 600
    .Width = 800
    .Top = 50
    .Height = 300
    .Name = "ReliabilityChart1"

    Set ReliabilitySeries = .Chart.SeriesCollection.NewSeries
        With ReliabilitySeries
            .Values = ReliabilityNumber
            .Name = "Reliability on timestep #"
        End With

End With

ActiveSheet.ChartObjects("ReliabilityChart1").Activate
With ActiveChart
    .ChartType = xlLine
    .ChartTitle.Text = "Reliability over time"
    .Axes(xlCategory).TickMarkSpacing = 1600
    .Axes(xlCategory).TickLabelSpacing = 1600
    .Axes(xlValue).MaximumScale = 1
    .Axes(xlValue).TickLabels.NumberFormat = "0%"
    .Axes(xlCategory).HasTitle = True
    .Axes(xlCategory).AxisTitle.Text = "Timestep (#)"
    .Axes(xlValue).HasTitle = True
    .Axes(xlValue).AxisTitle.Text = "Reliability (%)"
End With

Sheets(1).Range("E10").Select

1 个答案:

答案 0 :(得分:0)

我认为您的问题与用于绘制图表系列的SERIES公式的长度有关。如果将数组加载到工作表中并将其用作系列的源代码,它应该可以正常工作。