Сводная таблица Excel VBA: как поместить суммы в метки строк - PullRequest
0 голосов
/ 30 апреля 2018

Я пытаюсь создать сводную диаграмму из набора тестовых данных. Это почти работает, но чтобы показать диаграмму, сумма данных должна быть в строке метки строки.

Я могу сделать это легко вручную, но это должно работать с использованием VBA. Остальная часть таблицы и диаграммы генерируется с использованием VBA, и она работает хорошо, но я не знаю, как переместить поле SUM в метки строк

Переместить сумму данных из метки столбца в метку строки: Move Sum of Data from Column Label to Row Label

sourceSheet.Select
Set dataRange = sourceSheet.Range(sourceSheet.Cells(startRow, 1), sourceSheet.Cells(currentRow - 1, startColumnVals + columnArraySize - 1))
Set pCache = ActiveWorkbook.PivotCaches.Create(xlDatabase, dataRange)
Set pTable = pCache.createPivotTable(pivotSheet.Range("A42"))

' Page fields are the filters
Set pField = pTable.PivotFields("Result")
pField.Orientation = xlPageField

' Column fields will apprear in the Legend
Set pField = pTable.PivotFields("TestName")
pField.Orientation = xlColumnField


' Row Fields - don't know what to do here !

' Data field
For i = 0 To (columnArraySize - 1)
    cellText = sourceSheet.Cells(startRow, startColumnVals + i).Text
    Set pField = pTable.PivotFields(cellText)
    pField.Orientation = xlDataField
    pField.Name = "S" & cellText & "-" & i
    pField.Function = xlSum
Next

Set dataRange = pTable.TableRange1

Set pChaObj = pivotSheet.ChartObjects.Add(Left:=10, Width:=1000, Top:=15, Height:=500)
Set pChart = pChaObj.Chart

pChart.SetSourceData dataRange
pChart.ChartType = xlLine

1 Ответ

0 голосов
/ 30 апреля 2018

Это то, что вы ищете?

Set pField = pTable.PivotFields("value")
pField.Orientation = xlRowField
...