使用 Excel VBA,我使用 OWC11 在用户窗体上创建了一个图表。通过代码,我将工作表中的 2 列复制到 OWC 图表电子表格中。
第一列是日期(对于 x 轴),第二列是值(数字)(对于 y 轴)。
我的问题是,当电子表格的第一列具有序列日期格式时,图表上的 y 轴正确显示值。但 x 轴显示连续日期。
如果我将第一列格式设置为日期、长、短或其他格式,则 y 轴会更改比例和值,仅在图表上,与电子表格和工作表完全不同,这没关系。这些值比源大得多。
我已经尝试过从工作表复制到 owc 电子表格的不同方法,但没有办法。在我看来,问题出在电子表格将数据发送到图表的方式上。
请问您知道是什么导致了这种奇怪的行为吗?
我的软件环境如下:
- 视窗
- Excel 专业版 2010
- 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