我有一个错误,从另一个工作簿的数据为我的图表。我已经调用工作簿并打开它,这很奇怪,因为当我在练习工作簿(没有用户表单)时,它运行得很好。附我的部分代码:
工作簿"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,并且我删除了足球图表集源数据
如果这不能解决问题,请查看创建的图表,并让我们知道它在代码运行之前和之后正在查看的范围