Home » エクセルマクロ・Excel VBAの使い方 » ListObjectオブジェクト » ListObject・テーブルの行を削除するExcel VBAのサンプル

ListObject・テーブルの行を削除するExcel VBAのサンプル

対象:Excel2007, Excel2010, Excel2013

「excel 2013 vba テーブルの行を削除」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

テーブル・ListObjectオブジェクトの、行を削除するVBA(Visual Basic for Applications)のコードを探している方による検索です。

参考になりそうな簡単なマクロを3つご紹介しておきましょう。

[スポンサードリンク]

テーブルの先頭行・1行目を削除するサンプルマクロ

一つ目は、アクティブなシートの、一個目のテーブル・ListObjectオブジェクトの、1行目を削除するマクロです。


Sub テーブルの先頭行を削除する()

 ActiveSheet.ListObjects(1).ListRows(1).Delete

End Sub

ListRowsコレクションオブジェクトの、_Defaultプロパティの引数に行番号を指定すると、テーブルの行を表すListRowオブジェクトを取得できます。

ListObject・テーブルの行を削除するExcel VBAのサンプル

ここでは引数に「1」を指定することで、テーブルの1行目を表すListRowオブジェクトを取得して、取得したListRowオブジェクトのDeleteメソッドで、行を削除しています。

ListObject・テーブルの行を削除するExcel VBAのサンプル

テーブルの最終行を削除するサンプルマクロ

二つ目は、最後の行・最終行を削除するマクロです。


Sub テーブルの最終行を削除する()

 With ActiveSheet.ListObjects(1).ListRows
  .Item(.Count).Delete
 End With

End Sub

ListRows.Countプロパティで、テーブルの行数を取得できます。

ListObject・テーブルの行を削除するExcel VBAのサンプル

その値をListRows.Itemプロパティの引数に指定することで、最後の行を表すListRowオブジェクトを取得して、Deleteメソッドで削除しています。

コレクションオブジェクトオブジェクトから、そのメンバーである単一オブジェクトを取得する方法について理解が曖昧な方の場合は、以下のようなマクロのほうがわかりやすいでしょう。


Sub テーブルの最終行を削除する_変数利用()

 Dim lst As ListObject
 Dim cnt As Long

 Set lst = ActiveSheet.ListObjects(1)

 cnt = lst.ListRows.Count
 lst.ListRows(cnt).Delete

End Sub

先の、
 With ActiveSheet.ListObjects(1).ListRows
  .Item(.Count).Delete
 End With
というコードと、やっていることは同じですが、処理をバラしています。

オブジェクト変数・lstに、アクティブなシートの一つ目のListObjectを格納して、
 Set lst = ActiveSheet.ListObjects(1)

行数をListRowsコレクションオブジェクトのCountプロパティで取得して、変数・cntに代入して、
 cnt = lst.ListRows.Count

変数・cntをListRowsコレクションオブジェクトの_Defaultプロパティに指定することで最終行を取得して、Deleteメソッドで削除しています。
 lst.ListRows(cnt).Delete

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » ListObjectオブジェクト » ListObject・テーブルの行を削除するExcel VBAのサンプル

TrackBack:2

TrackBack URL
ListObject・テーブルの行を選択するExcel VBAのサンプル from インストラクターのネタ帳
ListObject・テーブルの行を選択するExcel(エクセル)VBA(Visual Basic for Applications)のコードをご紹介して...
ListObject・テーブルのすべての行を削除する from インストラクターのネタ帳
ListObjectオブジェクト・テーブルのすべての行を削除するExcel(エクセル)マクロをご紹介しています。

Home » エクセルマクロ・Excel VBAの使い方 » ListObjectオブジェクト » ListObject・テーブルの行を削除するExcel VBAのサンプル

「ListObjectオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.