【问题标题】:Pivot Table Datafields combined under Column Field from vb.net数据透视表数据字段组合在来自 vb.net 的列字段下
【发布时间】:2020-10-08 09:24:00
【问题描述】:

我正在从各种表的第一张表中创建一个数据库,这个数据源现在是我在选项卡 2 上的数据透视表的来源,所有这些都是从 vb.net 生成的。 我有 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

正在创建数据字段,但是当我在创建工作表后查看它们时,它们都列在一个列下。

如果我单击数据透视表,并将这些字段移出 VALUES,然后再移回值中,它会正确拆分数据透视表,并在上方添加一个名为 DATA 的行标题,并在它们自己的列下有 2 个数据字段,如我所愿。

根据上述代码创建的 PIVOT

上面从代码创建的 PIVOT 结构

手动将“总和”值从行移动到列后,如下所示:

修改后

这是编辑的结构:

我想知道如何在代码中将值从行移动到列?特别是因为我一开始就没有指定它在 ROWS 中,这似乎是我需要更改的一些默认设置,我翻遍了,似乎找不到它。

【问题讨论】:

    标签: vb.net excel


    【解决方案1】:

    只需按如下方式访问数据透视表的“DATA”部分并将其设置为数据字段

       pivotField = pivotTbl.PivotFields("Data")
       pivotField.Orientation = Excel.XlPivotFieldOrientation.xlColumnField
    

    你很高兴

    【讨论】:

      猜你喜欢
      • 2011-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多