| 
    
     |  | ▼n さん: ありがとうございます。
 
 取り敢えずマクロの記録で作ってみたのを貼り付けます。
 
 Sub Macro1()
 
 ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:="=リスト"). _
 CreatePivotTable TableDestination:=Range("A5"), TableName:="ピボットテーブル1"
 
 With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("あ")
 .Orientation = xlPageField
 .Position = 1
 End With
 With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("い")
 .Orientation = xlPageField
 .Position = 2
 End With
 With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("う")
 .Orientation = xlPageField
 .Position = 3
 End With
 
 With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("A")
 .Orientation = xlRowField
 .Position = 1
 End With
 With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("B")
 .Orientation = xlRowField
 .Position = 2
 End With
 
 With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("1")
 .Orientation = xlColumnField
 .Position = 1
 End With
 With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("2")
 .Orientation = xlDataField
 .Position = 1
 End With
 With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("2")
 .Orientation = xlDataField
 .Position = 2
 End With
 Range("D6").Select
 With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("データ")
 .Orientation = xlColumnField
 .Position = 1
 End With
 
 ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("データの個数 : 2").Function _
 = xlSum
 End Sub
 
 レイアウトは以下のような感じ。
 
 2の個数  2の合計
 ○  ×  ○  ×
 A B
 1 1  2   3  1  -2
 2  3   2  2  -4
 3  0   4  0  -6
 2 1  5   1  4  -1
 2  6   1  7  -6
 3  1   0  5   0
 3 1  8   9  9  -10
 2  1   1  1  -1
 3  0   5  0  -6
 
 
 Sub ピボット()
 With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("A")
 .PivotItems("1").Visible = True
 .PivotItems("2").Visible = True
 .PivotItems("3").Visible = False
 End With
 End Sub
 の
 .PivotItems("1").Visible = True
 で引っ掛かります。
 全部をFalseにしようとするとエラーが出るのは仕様なのかなと理解しているのですが、Trueでエラーが出るのが良く分かりません。
 
 Sub ピボット()
 With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("B")
 .PivotItems("1").Visible = True
 .PivotItems("2").Visible = True
 .PivotItems("3").Visible = False
 End With
 End Sub
 であれば問題なく動くようです。
 
 
 >・エラーが出る状況で、同じ動作を手作業で行った場合はどうなりますか?
 >・また、Excelのバージョンは何でしょう?
 手作業では問題無く動きます。
 エクセル2000です。
 宜しくお願いします
 
 
 |  |