Excel - ActiveChart.SetSourceData源:运行时错误'445':对象不支持此操作

问题描述 投票:0回答:1

我有一个excel工作簿(v2016),我设法根据最大条目数获取表的表名。该值(表的名称)在Sheet“Pareto”单元格B4中。

我正在使用以下代码使用上述表名更新图表

Sub GetTables()

Dim YTDL1TableName As String
Dim YTDL1Range As Range

YTDL1TableName = Sheets("Pareto").Range("B4")
Set YTDL1Range = Sheets("Pareto").Range(Sheets("Pareto").ListObjects(YTDL1TableName).Range.Address(True, True))
Sheets("Pareto").ChartObjects("YTDL1").Activate
ActiveChart.ChartArea.Select
ActiveChart.HasTitle = True
ActiveChart.ChartTitle.Text = YTDL1TableName
ActiveChart.SetSourceData Source:=YTDL1Range
End Sub

虽然图表确实得到了更新,但我确实收到了错误消息

运行时错误'445':对象不支持此操作

我该如何摆脱这个错误?

提前致谢

excel vba excel-vba excel-formula excel-2010
1个回答
0
投票

据我了解,您希望根据单元格中的值更改图表的数据源。

请尝试以下代码:

Sub GetTables()

Dim YTDL1TableName As String
Dim YTDL1Range As Range


YTDL1TableName = Sheets("Pareto").Range("B4")
'Set YTDL1Range = Sheets("Pareto").Range(Sheets("Pareto").Cells(YTDL1TableName).Address(True, True))
Worksheets("Pareto").ChartObjects("YTDL1").Activate
ActiveChart.ChartArea.Select
ActiveChart.HasTitle = True
ActiveChart.ChartTitle.Text = YTDL1TableName
ActiveChart.SetSourceData Source:=Sheets("Pareto").Range("B4")

End Sub

结果如下:Here is the result

希望有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.