「vba listobject 集計行」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
ListObjectオブジェクト(テーブル)の集計行に関するVBA(Visual Basic for Applications)のコードを探していた方による検索です。
ですが、
「vba listobject 集計行」
という検索キーワードだけでは、具体的に何を探していたのかがわかりません。
可能性がいくつか考えられますが、まずは、集計行の表示を切り替えるマクロをご紹介しておきます。
アクティブシート上の集計行の表示を切り替えるサンプルマクロ
テーブルの存在するワークシートがアクティブな状態で以下のマクロを実行すると、ワークシート上に存在する一つ目のテーブルの集計行の表示が切り替わります。
With ActiveSheet.ListObjects(1)
.ShowTotals = Not .ShowTotals
End With
End Sub
集計行の表示状態は、ListObjectオブジェクトのShowTotalsプロパティで取得・設定することができます。
例えば、
ActiveSheet.ListObjects(1).ShowTotals = True
というコードなら、集計行が表示され、
ActiveSheet.ListObjects(1).ShowTotals = False
なら集計行を非表示にできます。
このTrue・Falseの切り替えをNot演算子で行っているのが、上記のマクロです。
全シートの集計行を非表示にするサンプルマクロ
以下のようなマクロにすれば、アクティブなブックのすべてのワークシート上の、すべてのテーブルの集計行を非表示にできます。
Dim sh As Worksheet
For Each sh In Worksheets
Dim ls As ListObject
For Each ls In sh.ListObjects
ls.ShowTotals = False
Next ls
End Sub
全ワークシートに対してFor Each~Nextループを回して、
For Each sh In Worksheets
更にそのループの中で、全テーブルに対してFor Each~Nextループを回して、
For Each ls In sh.ListObjects
ListObjectオブジェクトのShowTotalsプロパティをFalseにしています。
ls.ShowTotals = False
- Newer:マクロ学習の入り口として整理された道筋
- Older:不要なレイアウトを削除するPowerPointマクロ
Home » エクセルマクロ・Excel VBAの使い方 » ListObjectオブジェクト » ListObject・テーブル集計行の表示切替を行うExcelマクロ