Я создаю набор отчетов, которые будут обновляться ежедневно для некоторых пользователей, которые не очень хорошо разбираются в сводных диаграммах и сводных таблицах в Excel (2010). У меня есть данные из уже автоматизированного извлечения данных из нашей базы данных, но чтобы сделать эту информацию полезной (и более простой в использовании), я хочу сгенерировать сводные данные с помощью VBA.
Я уже создал сводные таблицы и могу вручную манипулировать ими для создания соответствующих диаграмм. Когда я создаю таблицы (все на одном листе), я их помечаю (если это помогает решить мою проблему). У меня возникают проблемы при создании сводных диаграмм и, в частности, при настройке источника данных.
Поскольку диаграммы основаны на опорных точках, размер которых может меняться в зависимости от имеющихся данных, я не могу просто указать фиксированный диапазон в качестве источника. Та же проблема с именованным диапазоном, так как я до сих пор не знаю, какому диапазону присвоить имя, если только я не могу назначить PT в качестве диапазона.
Я пробовал что-то вроде этого, но это не сработало, так как я не смотрю на реальный объект «Диапазон»:
Dim MyChartObject As ChartObject
Dim MyChart As Chart
'These variables are assigned elsewhere in the code.
Set MyChartObject = wksMainCharts.ChartObjects.Add( _
iChartLeft, iChartTop, iChartWidth, iChartHeight)
Set MyChart = MyChartObject.Chart
MyChart.SetSourceData wksMainPivot.PivotTables(PivotName).SourceData 'Fails; requires Range object
'More code to follow...
Я знаю, что это строковое представление неправильного диапазона, но я играл с тем, что мог понять самостоятельно.
По сути, я хочу противоположного этого вопроса, который пытается найти сводную таблицу в заданный диапазон. Я также рассмотрел этот вопрос, но это не совсем то, что я ищу (ответы также отсутствуют).
Кроме того: я прошу здесь способ получить диапазон PT, который, я думаю, было бы интересно узнать, но в конечном итоге я просто хочу создать сводную диаграмму, поэтому, если кто-то хочет предложить лучший метод, чем то, что Я начал, я полностью открыт для этого.
? activecell.PivotTable.PivotCache.SourceData
- person GlennFromIowa   schedule 18.10.2017