1

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

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

我的问题是,当电子表格的第一列具有序列日期格式时,图表上的 y 轴正确显示值。但 x 轴显示连续日期。

如果我将第一列格式设置为日期、长、短或其他格式,则 y 轴会更改比例和值,仅在图表上,与电子表格和工作表完全不同,这没关系。这些值比源大得多。

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

请问您知道是什么导致了这种奇怪的行为吗?

我的软件环境如下:

  1. 视窗
  2. Excel 专业版 2010
  3. OWC11(版本 12.0.0.4518)

这是我的代码。

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
4

0 回答 0