1

我在 VB.NET 中创建数据透视表并遇到了一个我认为不会像结果那样困难的问题。当我创建一个数据透视表时,它会为每一行添加小计,我不希望这样。在 excel 中,您只需向下拖动小计选项并告诉它不显示小计。我查看了它的 VBA,这种格式有几行:

     ActiveSheet.PivotTables("Main Highway Pivot").PivotFields("Division"). _
    Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
    False, False)

这是数量惊人的代码,但这很好,所以我一直在尝试与我在 VB.NET 中的数据透视表类似的东西

With ptTable
.ManualUpdate = True
.PivotFields("Division").orientation = Excel.XlPivotFieldOrientation.xlRowField
.PivotFields("Net Sales Amt").orientation = Excel.XlPivotFieldOrientation.xlDataField
.PivotFields("Division").Subtotals = false
.ColumnGrand = False
.RowGrand = True
.ManualUpdate = False
End With

我尝试了几种不同的变体

 .PivotFields("Division").Subtotals = false

行,但运气不佳。这是正确的代码,我指定的错误部分是错误的吗?为什么没有

.subtotal = false

让这更容易?

无论如何,这对我来说似乎很简单,但经过一番挖掘后,我不知道如何解决它,所以任何帮助将不胜感激。

一如既往地谢谢你

4

1 回答 1

3

这是 VBA 的片段(来自http://www.pcreview.co.uk/forums/hide-subtotals-rowfields-pivot-table-t974940.html)可能会有所帮助:

'=========================
Sub NoSubtotals()
'turns off subtotals in pivot table
'.PivotFields could be changed to
'.RowFields or .ColumnFields
Dim pt As PivotTable
Dim pf As PivotField
On Error Resume Next
For Each pt In ActiveSheet.PivotTables
For Each pf In pt.PivotFields
'First, set index 1 (Automatic) to True,
'so all other values are set to False
pf.Subtotals(1) = True
pf.Subtotals(1) = False
Next pf
Next pt
End Sub
'========================
于 2012-05-02T22:51:36.987 回答