ListColumns プロパティ
ListColumns コレクションは、テーブル・リスト(ListObject オブジェクト )内にあるすべての列を表します。
ListColumns コレクションを取得するには、ListObject オブジェクト の ListColumns プロパティ を使用します。
【書式】
<取得>
object.ListColumns
引数・戻り値
- object ・・・ 対象となる ListObject オブジェクトを指定します。
- 戻り値 ・・・ ListColumns コレクション
ListColumns オブジェクトの主なメソッド・プロパティ
Add メソッド
テーブル(リスト)にフィールド(列)を追加します。
【書式】
object.Add ( [ position ] )
引数・戻り値
- object ・・・ 対象となる ListColumns オブジェクトを指定します。
- position ・・・ 挿入する位置(1から始まる整数値)を指定します。指定された位置にある列は右側に移動します。省略すると最後尾に追加されます。
- 戻り値 ・・・ ListColumn オブジェクト
フィールドを削除するには、ListColumn.Delete メソッド を使用します。
Count プロパティ
テーブル(リスト)のフィールド数(列数)を取得します。
【書式】
<取得>
object.Count
引数・戻り値
- object ・・・ 対象となる ListColumns オブジェクトを指定します。
- 戻り値 ・・・ 列数
Item プロパティ
テーブル(リスト)内の特定のフィールド(列)を取得します。
【書式】
<取得>
object[ .Item ] ( index )
引数・戻り値
- object ・・・ 対象となる ListColumns オブジェクトを指定します。
- index ・・・ 列番号(1から始まる整数値)または、見出し(フィールド名)を指定します。
- 戻り値 ・・・ ListColumn オブジェクト
ListColumns オブジェクト 使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
Sub Sample_ListObject_ListColumns() Sheets("Sheet5").Activate Dim mysheet As Worksheet Dim mytbl As ListObject Set mysheet = ActiveWorkbook.ActiveSheet On Error GoTo ErrH Set mytbl = mysheet.ListObjects.Item("成績表03") 'テーブルに列を追加 With mytbl.ListColumns.Add .Name = "平均" .DataBodyRange(1, 1) = "=[@合計]/5" End With '列数を表示 MsgBox mytbl.ListColumns.Count Exit Sub ErrH: MsgBox "テーブル(リスト)がありません" End Sub |
実行結果
サンプルVBAソース 実行前
サンプルVBAソース 実行後
ListColumn オブジェクトの主なメソッド・プロパティ
Delete メソッド
テーブル(リスト)内の指定した列(フィールド)を削除します。
【書式】
object.Delete
引数・戻り値
- object ・・・ 対象となる ListColumnを指定します。
Total プロパティ
テーブル(リスト)内の指定した列(フィールド)の集計行の値を取得します。
【書式】
<取得>
object.Total
引数・戻り値
- object ・・・ 対象となる ListColumn オブジェクトを指定します。
- 戻り値 ・・・ 集計行の値
集計行が表示されていない場合、エラーが発生します。
TotalsCalculation プロパティ
テーブル(リスト)内の指定した列(フィールド)の集計行に表示する値の集計方法を取得または設定します。
【書式】
<取得>
object.TotalsCalculation
<設定>
object.TotalsCalculation = const
引数・戻り値
- object ・・・ 対象となる ListColumn オブジェクトを指定します。
- const ・・・ 集計行に表示する値の集計方法を表す XlTotalsCalculation 列挙型 の定数またはその値を指定します。
名前 値 説明 xlTotalsCalculationNone 0 計算なし xlTotalsCalculationSum 1 リスト列のすべての値の合計 xlTotalsCalculationAverage 2 平均 xlTotalsCalculationCount 3 空でないセルのカウント xlTotalsCalculationCountNums 4 数値のあるセルのカウント xlTotalsCalculationMin 5 リストの最小値 xlTotalsCalculationMax 6 リストの最大値 xlTotalsCalculationStdDev 7 標準偏差値 xlTotalsCalculationVar 8 変数 xlTotalsCalculationCustom 9 ユーザー設定の計算
その他
プロパティ | 内容 |
Range プロパティ | テーブル(リスト)内の指定した列(フィールド)のセル範囲を取得します(Range オブジェクト)。 |
DataBodyRange プロパティ | テーブル(リスト)内の指定した列(フィールド)の見出しの列、集計列を除いたセル範囲を取得します(Range オブジェクト)。 |
Name プロパティ | テーブル(リスト)内の指定した列(フィールド)の見出し(フィールド名)を取得します(文字列型:String)。 |
Index プロパティ | テーブル(リスト)内の指定した列(フィールド)のインデックス番号を取得します(長整数型:Long)。 |
ListColumn オブジェクト 使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
Sub Sample_ListObject_ListColumn() Sheets("Sheet5").Activate Dim mysheet As Worksheet Dim mytbl As ListObject Dim str As String Dim i As Long Set mysheet = ActiveWorkbook.ActiveSheet On Error GoTo ErrH Set mytbl = mysheet.ListObjects.Item("成績表03") With mytbl '「合計」列の集計方法を「合計」に設定 .ListColumns.Item("合計").TotalsCalculation = xlTotalsCalculationSum '集計行を表示 .ShowTotals = True '「平均」列を削除 .ListColumns("平均").Delete End With Exit Sub ErrH: MsgBox "テーブル(リスト)がありません" End Sub |
実行結果
サンプルVBAソース 実行前
サンプルVBAソース 実行後