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

ラインですが、ほとんど運がありませんでした。これは正しいコードですか? false の部分を間違って指定していますか? なぜないのですか

.subtotal = false

これを簡単にするには?

いずれにせよ、それは私には簡単なことのように思えましたが、かなり掘り下げた後、修正方法がわからないので、助けていただければ幸いです。

いつもありがとうございますSO

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 に答える