2012-05-02 97 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