ListRows プロパティ
ListRows コレクションは、テーブル・リスト(ListObject オブジェクト )内にあるすべての行(レコード)を表します。
ListRows コレクションを取得するには、ListObject オブジェクト の ListRows プロパティ を使用します。
【書式】
<取得>
object.ListRows
引数・戻り値
- object ・・・ 対象となる ListObject オブジェクトを指定します。
- 戻り値 ・・・ ListRows コレクション
ListRows オブジェクトの主なメソッド・プロパティ
Add メソッド
テーブル(リスト)にレコード(行)を追加します。
【書式】
object.Add ( [ position, alwaysinsert ] )
引数・戻り値
- object ・・・ 対象となる ListRows オブジェクトを指定します。
- position ・・・ 挿入する位置(1から始まる整数値)を指定します。指定された位置にある行は下方向に移動します。省略すると最後尾に追加されます。引数 alwaysinsert が省略されている場合、テーブルの下にあるセルは 1 行下にシフトされます(True を指定した場合と同じ)。
- alwaysinsert ・・・ ブール型(Boolean)の値を使用します。True を指定すると、テーブルの下にあるセルが 1 行下にシフトされます。False を指定した場合、テーブルの下にあるセルが空白の場合は、その行が上書きされ、セルが空白でない場合は、1 行下にシフトされます。
- 戻り値 ・・・ ListRow オブジェクト
テーブルのレコード(行)を削除するには、ListRow.Delete メソッド を使用します。
Count プロパティ
テーブル(リスト)のレコード数(行数)を取得します。
【書式】
<取得>
object.Count
引数・戻り値
- object ・・・ 対象となる ListRows オブジェクトを指定します。
- 戻り値 ・・・ レコード数
Item プロパティ
テーブル(リスト)内の特定のレコード(行)を取得します。
【書式】
<取得>
object[ .Item ] ( index )
引数・戻り値
- object ・・・ 対象となる ListRows オブジェクトを指定します。
- index ・・・ レコード番号( 1 から始まる整数値)を指定します。
※ レコード番号は、テーブル(リスト)の見出し部分を除いた「データ範囲」の一番上の行が、1 になります。 - 戻り値 ・・・ ListRow オブジェクト
ListRows オブジェクト 使用例
サンプル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 25 26 27 |
Sub Sample_ListObject_ListRows() Sheets("Sheet6").Activate Dim mysheet As Worksheet Dim mytbl As ListObject Set mysheet = ActiveWorkbook.ActiveSheet On Error GoTo ErrH Set mytbl = mysheet.ListObjects.Item("成績表04") 'テーブルの3行目にレコード(行)を追加 mytbl.ListRows.Add Position:=3 'レコード数を表示 MsgBox mytbl.ListRows.Count Exit Sub ErrH: MsgBox "テーブル(リスト)がありません" End Sub |
実行結果
サンプルVBAソース 1 実行前
サンプルVBAソース 1 実行後
ListRow オブジェクトの主なメソッド・プロパティ
Delete メソッド
テーブル(リスト)内の指定した行(レコード)を削除します。
【書式】
object.Delete
引数・戻り値
- object ・・・ 対象となる ListRowを指定します。
削除した行以下のセルは上方向にシフトします。
Range プロパティ
テーブル(リスト)内の指定した行(レコード)のセル範囲を取得します(Range オブジェクト)。
【書式】
<取得>
object.Range
引数・戻り値
- object ・・・ 対象となる ListRow オブジェクトを指定します。
- 戻り値 ・・・ Range オブジェクト
Index プロパティ
テーブル(リスト)内の指定した行(レコード)のインデックス番号を取得します(長整数型:Long)。
【書式】
<取得>
object.Index
引数・戻り値
- object ・・・ 対象となる ListRow オブジェクトを指定します。
- 戻り値 ・・・ レコード番号を表す長整数型(Long)の値
ListRow オブジェクト 使用例
サンプル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_ListRow() Sheets("Sheet6").Activate Dim mysheet As Worksheet Dim mytbl As ListObject Set mysheet = ActiveWorkbook.ActiveSheet On Error GoTo ErrH Set mytbl = mysheet.ListObjects.Item("成績表04") 'テーブルの3行目のレコード(行)を削除 mytbl.ListRows.Item(3).Delete 'テーブルの8行目のレコード(行)のセル範囲を表示 MsgBox mytbl.ListRows(8).Index & "行目のセル範囲アドレス:" & mytbl.ListRows(8).Range.Address Exit Sub ErrH: MsgBox "テーブル(リスト)がありません" End Sub |
実行結果
サンプルVBAソース 2 実行前
サンプルVBAソース 2 実行後