ListObject オブジェクトのプロパティ(Range プロパティ、HeaderRowRange プロパティ、DataBodyRange プロパティ)
テーブル(リスト)機能を使用するには、ListObjects コレクション(ワークシート内のすべてのテーブル)、ListObject オブジェクト(1つのテーブル)を使用します。
Range プロパティ
ワークシート上のテーブル(リスト)のセル範囲を取得します。
【書式】
<取得>
object.Range
引数・戻り値
- object ・・・ 対象となる ListObject オブジェクトを指定します。
- 戻り値 ・・・ テーブルのセル範囲(Range オブジェクト)
HeaderRowRange プロパティ
ワークシート上のテーブル(リスト)の見出し部分のセル範囲を取得します。
【書式】
<取得>
object.HeaderRowRange
引数・戻り値
- object ・・・ 対象となる ListObject オブジェクトを指定します。
- 戻り値 ・・・ テーブルの見出し部分のセル範囲(Range オブジェクト)
DataBodyRange プロパティ
ワークシート上のテーブル(リスト)の見出し部分を除いたセル範囲を取得します。
【書式】
<取得>
object.DataBodyRange
引数・戻り値
- object ・・・ 対象となる ListObject オブジェクトを指定します。
- 戻り値 ・・・ テーブルの見出し部分を除いたセル範囲(Range オブジェクト)
ListObject オブジェクトのプロパティ(Range、HeaderRowRange、DataBodyRange)使用例
サンプル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 |
Sub Sample_ListObject01() Sheets("Sheet5").Activate Dim mysheet As Worksheet Dim mytbl As ListObject Dim str As String Set mysheet = ActiveWorkbook.ActiveSheet On Error GoTo ErrH Set mytbl = mysheet.ListObjects.Item("成績表02") str = "テーブル範囲:" & mytbl.Range.Address(rowabsolute:=False, columnabsolute:=False) & vbCrLf str = str & "見出し範囲:" & mytbl.HeaderRowRange.Address(rowabsolute:=False, columnabsolute:=False) & vbCrLf str = str & "データ範囲:" & mytbl.DataBodyRange.Address(rowabsolute:=False, columnabsolute:=False) MsgBox str Exit Sub ErrH: MsgBox "テーブル(リスト)がありません" End Sub |