通过 VBA 创建动态图
Creating Dynamic Diagrams via VBA
我今天尝试用 VBA 创建动态图表。代码本身工作正常,但我遇到了问题,即线图仅显示 21 个数据系列中的 10 个。代码本身通过 .NewSeries 添加了 21 个数据系列,但是代码完成后图表只显示其中的 10 个。有没有人知道为什么会发生这种情况或有解决我的问题的方法?
ActiveSheet.Shapes.AddChart2(, xlLine, 0, 0, 1400).Select
Dim cht As Chart
Set cht = ActiveChart
cht.HasLegend = True
cht.ChartTitle.Text = "Test"
With ActiveChart
Do Until .SeriesCollection.Count = 0
.SeriesCollection(1).Delete
Loop
End With
For i = 2 To clmns Step 4
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(cnt).Name = Worksheets(1).Cells(1, i)
ActiveChart.FullSeriesCollection(cnt).Values = Worksheets(1).Range(Worksheets(1).Cells(1, i), Worksheets(1).Cells(rws, i))
cnt = cnt + 1
Next
您好
本杰明
我刚拿到解决方案,只是一个显示错误,excel没注意到有那么多数据系列。我只是稍微调整了宽度和高度,它刷新了图表,所有系列都在那里。谢谢。
我今天尝试用 VBA 创建动态图表。代码本身工作正常,但我遇到了问题,即线图仅显示 21 个数据系列中的 10 个。代码本身通过 .NewSeries 添加了 21 个数据系列,但是代码完成后图表只显示其中的 10 个。有没有人知道为什么会发生这种情况或有解决我的问题的方法?
ActiveSheet.Shapes.AddChart2(, xlLine, 0, 0, 1400).Select
Dim cht As Chart
Set cht = ActiveChart
cht.HasLegend = True
cht.ChartTitle.Text = "Test"
With ActiveChart
Do Until .SeriesCollection.Count = 0
.SeriesCollection(1).Delete
Loop
End With
For i = 2 To clmns Step 4
ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(cnt).Name = Worksheets(1).Cells(1, i)
ActiveChart.FullSeriesCollection(cnt).Values = Worksheets(1).Range(Worksheets(1).Cells(1, i), Worksheets(1).Cells(rws, i))
cnt = cnt + 1
Next
您好 本杰明
我刚拿到解决方案,只是一个显示错误,excel没注意到有那么多数据系列。我只是稍微调整了宽度和高度,它刷新了图表,所有系列都在那里。谢谢。