「vba listrows() テーブルの1行から最終行削除」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
「テーブルの1行から最終行削除」ということですから、テーブルのすべての行を削除するVBAのコードを探していらしたのでしょうか。
既にご紹介しているとおり、テーブル内の任意の一行を削除するのならば、ListRowオブジェクトのDeleteメソッドを使えばOKです。
ListRowsコレクションにDeleteメソッドはない
「listrows()」というキーワードが使われているので、ListRowオブジェクトを単独のオブジェクトとして持つListRowsコレクションにDeleteメソッドがあると考えたのかもしれません。
ですが、オブジェクトブラウザーで確認するとわかるとおり、ListRowsコレクションに、Deleteメソッドは用意されていません。
すべてのListRowオブジェクトを削除するサンプルマクロ
ListRows・ListRowを使うなら、以下のようなマクロで、アクティブなシート上の一つ目のテーブルのすべての行を削除できます。Dim i As Long
With ActiveSheet.ListObjects(1).ListRows
For i = .Count To 1 Step -1
.Item(i).Delete
Next i
End With
End Sub
アクティブなシートの(ActiveSheet)、1つ目のテーブルの(.ListObjects(1))、すべての行(.ListRows)に対して、
With ActiveSheet.ListObjects(1).ListRows
最終行から(i = .Count)、1行目に向かって(To 1)、下から(Step -1)ループを回して、
For i = .Count To 1 Step -1
ListRow.Deleteメソッドで削除を行っています。
.Item(i).Delete
最終更新日時:2019-11-22 18:05
- Newer:文字列の折り返しを変更するWordマクロ
- Older:Excelマクロ入門講座 2015-8-30(日)10:30より
Home » エクセルマクロ・Excel VBAの使い方 » ListObjectオブジェクト » ListObject・テーブルのすべての行を削除する