|
▼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です。
宜しくお願いします
|
|