我正在从各种表中创建第1页的数据库,这个数据源现在是我在vb.net上生成的选项卡2上的数据透视表的源。 我有2个数据字段我想添加。
Dim pivotField As Excel.PivotField
'Row field 1
pivotField = pivotTbl.PivotFields("Grade")
With pivotField
.Orientation = Excel.XlPivotFieldOrientation.xlRowField
.Name = " Grade"
End With
'Row field 2
pivotField = pivotTbl.PivotFields("Financed")
With pivotField
.Orientation = Excel.XlPivotFieldOrientation.xlRowField
.Name = " Financed"
End With
'DATA FIELD 1 and 2
pivotField = pivotTbl.PivotFields("OnHand")
With pivotField
.Orientation = Excel.XlPivotFieldOrientation.xlDataField
.Function = Excel.XlConsolidationFunction.xlSum
.NumberFormat = "### ### ### ##0.000"
.Name = " Stock On Hand"
.Position = 1
End With
pivotField = pivotTbl.PivotFields("StockValue")
With pivotField
.Orientation = Excel.XlPivotFieldOrientation.xlDataField
.Function = Excel.XlConsolidationFunction.xlSum
.NumberFormat = "### ### ### ##0.000"
.Name = " Stock Value"
.Position = 2
End With
正在创建数据字段,但是,当我在创建工作表后查看工作表时,它们都列在一个COLUMN下。
如果我单击数据透视表,并将这些字段移出VALUES然后返回值,它会正确地拆分数据透视表,并在上面添加一个名为DATA的行标题,并在其自己的列下有2个数据字段,正如我希望的那样。
从上面的代码创建的PIVOT
从代码
创建的PIVOT结构手动移动" Sum Of"从行到列的值,如下所示:
更改后
这是编辑的结构:
我想知道如何在代码中将VALUES从行移动到列?特别是因为我从来没有在ROWS中指定它,似乎是我需要改变的一些默认设置,我已经看了一遍,似乎无法找到它。
答案 0 :(得分:3)
只需按如下方式访问数据透视表的“DATA”部分,然后将其设置为数据字段
pivotField = pivotTbl.PivotFields("Data")
pivotField.Orientation = Excel.XlPivotFieldOrientation.xlColumnField
你是惠康