0

ユーザー フレンドリーなピボット テーブル コントロールを作成しようとしています。次のように、ピボット テーブルを制御するために複数のマクロを設定しています。

Sub FilterA()
ActiveSheet.PivotTables("PivotTable2").PivotFields("A").CurrentPage = "TRUE"
ActiveSheet.PivotTables("PivotTable2").PivotFields("B").CurrentPage = "(All)"
ActiveSheet.PivotTables("PivotTable2").PivotFields("C").CurrentPage = "(All)"
ActiveSheet.PivotTables("PivotTable2").PivotFields("D").CurrentPage = "(All)"
ActiveSheet.PivotTables("PivotTable2").PivotFields("E").CurrentPage = "(All)"
ActiveSheet.PivotTables("PivotTable2").PivotFields("F").CurrentPage = "(All)"
End Sub

Sub FilterB()
ActiveSheet.PivotTables("PivotTable2").PivotFields("A").CurrentPage = "(All)"
ActiveSheet.PivotTables("PivotTable2").PivotFields("B").CurrentPage = "TRUE"
ActiveSheet.PivotTables("PivotTable2").PivotFields("C").CurrentPage = "(All)"
ActiveSheet.PivotTables("PivotTable2").PivotFields("D").CurrentPage = "(All)"
ActiveSheet.PivotTables("PivotTable2").PivotFields("E").CurrentPage = "(All)"
ActiveSheet.PivotTables("PivotTable2").PivotFields("F").CurrentPage = "(All)"
End Sub

等々...

私がやりたいのは、これらをチェック ボックスに追加できるようにすることですが、複数のフィルターに対して複数のボックスをチェックできるようにすることです。(例 A と C) 上記の方法を使用してこれを行うことができないことに気付きました。できる方法はありますか?何かが足りない気がします。私はvbaにあまり精通していないことに注意してください。

ありがとう!

4

1 に答える 1

0

基本的な構文は次のようになります。

Option Explicit

Sub UseCheckBox()

Dim cb as Checkbox

Set cb = Sheets(1).Controls("myCheckbox")

If cb.Value = True

      ActiveSheet.PivotTables("PivotTable2").PivotFields("A").CurrentPage = "TRUE"

End If

End Sub

これを拡張して、必要な数のチェックボックスを追加したり、それらをループしたり、条件を変更したりできます。

于 2012-12-07T20:00:53.100 に答える