2014-11-17 2 views
0

Я пытаюсь добавить вычисленное поле в сводную таблицу, созданную в VBA (Excel 2010). Таблица pivit работает, и все появляется - за исключением вычисленного поля, которое полностью отсутствует.Добавление расчетного поля с помощью VBA

код, я использую это следующим образом:

Sub Create_Pivot_Table_for_chart2() 
Dim wsnew As Worksheet 
Dim objPivotcache As PivotCache 
Dim objPivotTable As PivotTable 

'Adding new worksheet 
Set wsnew = Worksheets.Add 
wsnew.Name = "Test5" 

'Creating Pivot cache 
Set objPivotcache = ActiveWorkbook.PivotCaches.Create(xlDatabase, "'datasheet'!B1:BX1000") 

'Creating Pivot table 
Set objPivotTable = objPivotcache.CreatePivotTable(wsnew.Range("A1")) 

'Setting Fields 
With objPivotTable 
'set row field 
With .PivotFields("Prosperator") 
.Orientation = xlRowField 
.Position = 1 
End With 

'set column field 
With .PivotFields("Business Name") 
.Orientation = xlRowField 
.Position = 2 
End With 

    'set calculated field 
.CalculatedFields.Add "TOGrowth%", "= ('ITD Average'- 'Pre-ignition T/O')/'Pre-ignition T/O'" 

'set data field 
.AddDataField .PivotFields("Pre-ignition T/O"), "PI T/O", xlSum 
.AddDataField .PivotFields("ITD Average"), "ITD", xlSum 


End With 
END SUB 

Благодарности

ответ

2

Глядя на ваш код, вы не добавили вычисляемого поля в сводной таблице в поле данных.

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

.PivotFields("TOGrowth%").Orientation = xlRowField 
+0

Rried что и ут возвращает ошибку «Не удалось установить ориентацию свойство класса pivotfield.» –

+0

он работает, если добавить его как "xldatafield" –

Смежные вопросы