2012-05-02 58 views
1

我在VB.NET中创建数据透视表,并遇到了一个问题,我认为这不会像将要发生的那样困难。当我创建一个数据透视表时,它会为每一行添加小计,我不想那样做。在Excel中,您只需拖动小计选项并告诉它不显示小计。我看着VBA它,它是几行代码这种格式:关闭Excel数据透视表小计VB.NET

 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 

为了使这更容易?

在任何情况下,它似乎对我来说很简单,但经过很多挖掘后,我不知道如何解决它,所以任何帮助,将不胜感激。

感谢您一如既往SO

回答

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 
'======================== 
+0

非常好,感谢它的伟大工程。 – asjohnson