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