リスト・テーブル(ListObject オブジェクト)を取得
【書式】
object.ListObject [.Item]( index )
引数・戻り値
- object ・・・ 対象となる Worksheet オブジェクトを指定します。
- index ・・・ インデックス番号(1 から始まる整数値)または、テーブル名(文字列)を指定します。
ListObjects コレクションに関しての詳細は、リスト・テーブル(ListObjects オブジェクト) を参照してください。
ListObject オブジェクト 使用例 1
サンプルVBAソース 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Sub Sample_ListObject() Sheets("Sheet4").Activate Dim mysheet As Worksheet Dim mytbl As ListObject Set mysheet = ActiveWorkbook.ActiveSheet On Error GoTo ErrH 'テーブル(リスト)の取得 Set mytbl = mysheet.ListObjects.Item(1) 'テーブルの名前を表示 MsgBox mytbl.Name Exit Sub ErrH: MsgBox "テーブル(リスト)はありません。" End Sub |
実行結果 1
サンプルVBAソース 1 実行前
サンプルVBAソース 1 実行後
ListObject オブジェクトの主なメソッド
Delete メソッド
ListObject オブジェクトを削除し、ワークシートからセルデータをクリアします。
【書式】
object.Delete
引数・戻り値
- object ・・・ 対象となる ListObject オブジェクトを指定します。
Unlist メソッド
作成したテーブル(リスト)を通常の表(範囲)に戻します。
【書式】
object.Unlist
引数・戻り値
- object ・・・ 対象となる ListObject オブジェクトを指定します。
Excel 2007 以降で、テーブルを作成するとテーブルのスタイルが設定されますが、Unlink メソッドを使用しても、そのスタイルは残ってしまいます。スタイルを解除するには、Unlink メソッドを実行する前に、TableStyle プロパティ に、””(空文字)を設定します。
ListObject オブジェクト 使用例 2
サンプルVBAソース 2
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 |
Sub Sample_ListObject_Unlist() Sheets("Sheet4").Activate Dim mysheet As Worksheet Dim mytbl As ListObject Set mysheet = ActiveWorkbook.ActiveSheet On Error GoTo ErrH 'テーブル(リスト)の取得 Set mytbl = mysheet.ListObjects.Item(1) 'テーブルのスタイル解除 mytbl.TableStyle = "" 'テーブルを通常の範囲に戻す mytbl.Unlist Exit Sub ErrH: MsgBox "テーブル(リスト)はありません。" End Sub |
実行結果 2
サンプルVBAソース 2 実行前
サンプルVBAソース 2 実行後
サンプルVBAソース 3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Sub Sample_ListObject_Delete() Sheets("Sheet4").Activate Dim mysheet As Worksheet Dim mytbl As ListObject Set mysheet = ActiveWorkbook.ActiveSheet On Error GoTo ErrH 'テーブル(リスト)の取得 Set mytbl = mysheet.ListObjects.Item(1) 'テーブルを削除 mytbl.Delete Exit Sub ErrH: MsgBox "テーブル(リスト)はありません。" End Sub |
実行結果 3
サンプルVBAソース 3 実行前
サンプルVBAソース 3 実行後
ListObject オブジェクトの主なプロパティ
プロパティ | 内容 |
Name プロパティ | テーブル(リスト)の名前を取得・設定します。 ※ テーブル作成時、名前付きセル範囲として自動的に生成されます。ただし、その範囲は、見出しの部分を除いた範囲が、登録されます。 |
Range プロパティ | テーブル(リスト)の範囲を取得します。 |
HeaderRowRange プロパティ | テーブル(リスト)の見出しの部分の範囲を取得します。 |
DataBodyRange プロパティ | テーブル(リスト)のレコード部分(見出しを除いた部分)の範囲を取得します。 |
ShowTotals プロパティ | テーブル(リスト)の集計行を表示するかどうかを設定します。 |
TableStyle プロパティ | テーブル(リスト)のスタイルを設定します。 |
ListColumns プロパティ | テーブル(リスト)内のフィールドを取得します。 |
ListRows プロパティ | テーブル(リスト)内のレコードを取得します。 |