奇怪的是在Excel上使用OWC11

时间:2014-03-11 03:02:46

标签: date excel-vba format office-web-components vba

使用Excel VBA我在userform上使用OWC11创建了一个图表。通过代码,我将工作表中的2列复制到OWC图表电子表格。

第1列是日期(对于x轴),第2列是值(数字)(对于y轴)。

我的问题是,当在电子表格中第1列的格式为序列日期时,图表上的y轴会正确显示值。但是x轴显示了连续日期。

如果我将第一列格式设置为日期,长,短或其他,则y轴更改比例和值,仅在图表上,与电子表格和工作表完全不同,这是正常的。这些值远远大于源。

我已经尝试过不同的方法从工作表复制到owc电子表格,但没办法。在我看来,问题在于电子表格将数据发送到图表的方式。

请您知道造成这种奇怪行为的原因是什么吗?

我的软件环境如下:

  1. Windows Vista
  2. Excel professional 2010
  3. OWC11(Ver.12.0.0.4518)
  4. 这是我的代码。

    Dim ChtSpc As OWC11.ChartSpace
    Dim cht As OWC11.ChChart
    Dim Sps As OWC11.Spreadsheet
    Dim ws As Worksheet
    
    Set ChtSpc = Me.ChartSpace1
    Set Sps = Me.Spreadsheet1
    Set ws = ThisWorkbook.Worksheets("foglio3")
    
    Sps.Range("A1:c50") = ws.Range("A1:c50").Value
    Set ChtSpc.DataSource = Sps
    Set cht = ChtSpc.Charts.Add
    
    With cht
        .SetData chDimCategories, 0, "A1:A50"
        .SeriesCollection(0).SetData chDimValues, 0, "B1:B50"
        .HasLegend = True
        .SeriesCollection.Add
        .SeriesCollection(1).SetData chDimValues, 0, "c1:c50"
        .HasTitle = True
        .Title.Caption = "ANDAMENTO"
        .Title.Interior.Color = 1677215
        .Type = chChartTypeLine
    End With
    ChtSpc.Interior.SetTwoColorGradient chGradientFromCenter, chGradientVariantEnd, 9125192, 16777215
    End Sub
    

0 个答案:

没有答案