VBA(Visual Basic for Applications)を用いて、エクセルの特定の行を削除したいときは、『Deleteメソッド』を用います。行の削除はデータの加工をはじめ、さまざまなところで使われます。
記事を書いた人
こんにちは。当ブログの管理人の『くろん』です。
30代サラリーマン、新規事業推進室に所属。ブラック企業努め時代に身に着けた業務効率化ノウハウをアウトプットしていきます。
読んでくれた方の業務が一秒でも早く終わりますようにの精神で記事書いてます!!
目次
Deleteメソッドの構文(行削除するとき)
『Deleteメソッド』はセルの削除にも用いられるのですが、今回は行の削除に特化して説明していきたいと思います。
Rows(1).Delete '1行目を削除する(行指定)
Range("A1").EntireRow.Delete '1行目を削除する(セル指定)
どちらも、1行目が削除されます。そのときの状況に応じて使い分けていただければ大丈夫です。
Deleteメソッドを使って実際に行の削除をやってみた
個人情報テストデータジェネレーターを用いて、サンプルデータを作りました。このデータを使って、行の削除のVBAを説明していきます。
1行だけを削除する
まずは、この5行目(No4)の行を削除して見ましょう。
Option Explicit
Sub DeleteRow()
Rows(5).Delete
End Sub
はい!このように、5行目(No4)の行が削除されました。
複数行を削除する
次は、3行目から5行目の3行分を削除してみます。
Option Explicit
Sub DeleteRows()
Rows("3:5").Delete
End Sub
3行目から5行目(No2~4)が削除されました。簡単ですね!
Option Explicit
Sub DeleteRows()
Range("3:5").Delete
End Sub
Rowsではなく、Rangeとしても、かわりなく動き、3行目から5行目が削除されます。
Deleteメソッドまとめ
『Deleteメソッド』は、1行ないし複数行をRowsで指定してあげることで、削除してくれます。
削除された行は上方向に詰まり、行の存在がなかったことになります。