这个问题的解决方案是什么?



我有一个错误,从另一个工作簿的数据为我的图表。我已经调用工作簿并打开它,这很奇怪,因为当我在练习工作簿(没有用户表单)时,它运行得很好。附我的部分代码:

工作簿"Footballers2020"已经打开并激活。

Dim wsManchester as Worksheet
Set wsManchester = Workbooks("Footballers2020").Worksheets("ManchesterUnited")

With FootballChart
.HasTitle = True
.ChartTitle.Text = "Players from Manchester United"
.HasLegend = True
.ChartType = xlAreaStacked
FootballChart.SetSourceData Source:=wsManchester.Range("N1:Z34") 'ERROR HERE (DONT TAKE THE DATA)
End With

有什么解决这个错误的方法吗?它给了我一个完全空白的图表。

所以我玩了一下我假设你的设置是:

  • 两个打开的工作簿
  • 一个叫Footballers2020,一张叫曼联的床单
  • 另一个里面有一个图表,我们可以把它赋值为FootballChart

我设置了这个,下面的代码为我工作:

Sub testsub()
Dim wsManchester As Worksheet
Set wsManchester = Workbooks("Footballers2020").Worksheets("ManchesterUnited")

Set footballChart = Worksheets(1).ChartObjects(1)
With footballChart.Chart
.HasTitle = True
.ChartTitle.Text = "Players from Manchester United"
.HasLegend = True
.ChartType = xlAreaStacked
.SetSourceData Source:=wsManchester.Range("N1:O34") 'ERROR HERE (DONT TAKE THE DATA)
End With
End Sub

请注意,我必须在with语句中添加。chart,并且我删除了足球图表集源数据

如果这不能解决问题,请查看创建的图表,并让我们知道它在代码运行之前和之后正在查看的范围

相关内容

最新更新