Excel - ActiveChart.SetSourceData Источник: ошибка во время выполнения «445»: объект не поддерживает это действие - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть книга Excel (v2016), где мне удалось получить имя таблицы таблицы на основе наибольшего количества записей. Это значение (которое является именем таблицы) находится в ячейке 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': объект не поддерживает это действие

Как мне избавиться от этой ошибки?

Заранее спасибо

1 Ответ

0 голосов
/ 04 сентября 2018

Насколько я понимаю, вы хотите изменить источник данных диаграммы на основе значений в ячейке.

Пожалуйста, попробуйте код ниже:

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

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...