Не удается установить исходные данные на диаграммах MS Office 2016

Я пытаюсь установить исходные данные для диаграммы MS Office 2016 в VBA, но получаю сообщение об ошибке «Объект не поддерживает это свойство или метод».

Тот же код отлично работает со старыми типами диаграмм.

Чтобы быть более конкретным, я пытаюсь создать тип диаграммы xlWaterfall.

Обычно я бы записал макрос, но он пока не работает с типами диаграмм MS Office 2016.

Функциональный код:

Отлично работает:

Сбои в .setSourceData:

Ценю вашу помощь. Заранее спасибо.


person L. Kleiven    schedule 30.06.2016    source источник
comment
Можете ли вы показать нам код, который вы пробовали? (даже код, который работал для старых типов)   -  person RGA    schedule 30.06.2016
comment
Теперь я отредактировал вопрос   -  person L. Kleiven    schedule 30.06.2016
comment
Если хотите, скопируйте фактический код в текст вашего вопроса (вместо того, чтобы включать фотографию). Это поможет вам, так как некоторые потенциальные ответчики не смогут открыть изображения из-за сетевых ограничений, и поможет им отлаживать код, позволяя им копировать и вставлять его в свой собственный компилятор.   -  person RGA    schedule 30.06.2016
comment
С точки зрения решения, вы проверили, что данные в исходном диапазоне действительны для типа диаграммы?   -  person RGA    schedule 30.06.2016
comment
Да, я подтвердил, что диапазон содержит предпочтительные ячейки, и попытался вручную установить их в качестве исходных данных. Когда я выполнял ту же операцию вручную в Excel с теми же исходными данными, все работало нормально.   -  person L. Kleiven    schedule 30.06.2016
comment
Возможно ли, что диапазон исходных данных слишком велик для созданной диаграммы? (честно говоря, здесь просто плевать идеи, поэтому я не пишу их в качестве ответов)   -  person RGA    schedule 30.06.2016
comment
Я думал о чем-то подобном, когда впервые начал отладку, так как я использую метод .end(xlToRight). Но при отладке диапазон был точно таким же, как диапазон, который я использовал при ручном построении каскадной диаграммы. Я прочитал в stackoverflow, что диаграммы MS Office 2016 сохраняются как фигуры, а не как объекты диаграммы. Но опять же, созданная каскадная диаграмма реагирует, когда я форматирую ее с помощью кода с помощью кода activeChart. В основном это метод setSourceData, который терпит неудачу.   -  person L. Kleiven    schedule 30.06.2016
comment
Я попытался выбрать диапазон исходных данных перед добавлением диаграммы. Это сработало, и диапазон был установлен как источник данных по умолчанию.   -  person L. Kleiven    schedule 30.06.2016
comment
Рад, что вы нашли решение! На самом деле, почему бы вам не опубликовать его как ответ на этот вопрос, чтобы любой, кто ищет подобную проблему, тоже мог ее найти.   -  person RGA    schedule 30.06.2016


Ответы (1)


Странно, что метод setDataSource дал сбой, но я нашел обходной путь: при первом выборе предпочтительного диапазона, а затем создании диаграммы с выбранным диапазоном он был установлен в качестве источника данных по умолчанию.

Решение

person L. Kleiven    schedule 30.06.2016