2015-05-07 2 views
0

В настоящее время у меня есть сводная таблица, которая выглядит, как этотКак я могу изменить диапазон данных источника, выбранный в сводной таблице для использования в сводной диаграмме

Pivot Table which is used

На данный момент, один из графиков, Я создаю добавляет серию к диаграмме xlPie, однако он выбирает данные в Range("C6:C12"), где я бы предпочел, чтобы он выбирал второй последний столбец, Range("F6":"F12"), поскольку мы хотим, чтобы общие значения, а не только значения за один месяц.

Это круговая диаграмма в настоящее время созданы для справки:

Pie Chart which I generate

Чтобы создать эту таблицу, я использую следующий код внутри листа эта диаграмма проживает:

Dim shpPie As Shape 
Set shpPie = ActiveSheet.Shapes.AddChart(xlPie) 

shpPie.Chart.SetSourceData Source:=ActiveWorkbook.Sheets("Pivot Table").PivotTables(1).TableRange1, _ 
         PlotBy:=xlColumns 
With Range("A1:F32") 
    shpPie.Left = .Left 
    shpPie.Top = .Top 
    shpPie.Width = .Width 
    shpPie.Height = .Height 
End With 
With shpPie.Chart.PivotLayout.PivotTable 
    .PivotFields("Marketspace").Orientation = xlRowField 'Row Field is the Axis Fields 
    .PivotFields("Page Name").Orientation = xlRowField 
    .PivotFields("Year").Orientation = xlColumnField 
    .PivotFields("Month").Orientation = xlColumnField 'Column Field is the Legend Fields 
End With 

я предположил, что вопрос относится к этой строке:

shpPie.Chart.SetSourceData Source:=ActiveWorkbook.Sheets("Pivot Table").PivotTables(1).TableRange1, _ 
          PlotBy:=xlColumns 

В первенствует, что линия дает мне выбор исходных данных из:

Кто-нибудь знает, есть ли что я могу сделать, чтобы выбрать 2-й последний столбец, или другой способ сделать это? Я бы хотел, чтобы в нем не было данных за январь.

Я попытался изменить линию источника генерируемый из:

=SERIES('Pivot Table'!$C$3:$C$5,'Pivot Table'!$A$6:$B$14,'Pivot Table'!$C$6:$C$14,1) 

к:

=SERIES('Pivot Table'!$C$3:$C$5,'Pivot Table'!$A$6:$B$14,'Pivot Table'!$F$6:$F$14,1) 

просто чтобы посмотреть, что происходит, но это не позволит мне применить эти изменения.

Я новичок в VB, так что я может быть недопонимание, как эти сводные таблицы/графики работы

+1

Вы не можете изменить то, что данные используется сводная диаграмма. Вам нужно будет создать регулярную диаграмму или использовать копию сводной таблицы, которая отображает только общие данные 2015 года. – Rory

+0

Aaah ok, В этом случае я извлечу эти данные для создания нового графика :) Спасибо за ответ, @Rory –

ответ

0

нет необходимости извлекать данные для создания новой диаграммы, просто скопировать рабочий лист, содержащий сводную таблицу (как это было предложено Рори) , исключить поле «Месяц» из значений в скопированной переменной.

Исключить следующую строку из кода

.PivotFields("Month").Orientation = xlColumnField 'Column Field is the Legend Fields 

Затем запустите вам процедуру скопированного листа