【VBA】行や列を削除する

VBA

VBAでシートの行や列を削除するコードはよく使う処理です。
毎回忘れて調べているので、行と列の削除方法について、まとめてみました。

Sheet1にA1からG10までデータが入力されています。

 

行を削除する

1行だけ削除する

黄色で色を塗った3行目を削除してみます。

 

シートから1行だけデータを削除するにはRowsオブジェクトのdeleteメソッドを使用します。

コードは以下になります。

 

削除したい行数をRowsオブジェクトに渡し、deleteメソッドを実行します。

コードを実行すると3行目が削除されます。

 

複数行まとめて削除する

黄色で色を塗った3行目から6行目までをまとめて削除してみます。

 

複数行をまとめて削除するにはRangeオブジェクトのdeleteメソッドを使用します。

コードは以下になります。

 

削除したい最初の行と最後の行をコロンで結合した文字列を
Rangeオブジェクトに渡し、deleteメソッドを実行します。

コードを実行すると3行目から6行目をまとめて行削除します。

 

列を削除する

1列だけ削除する

黄色で色を塗ったC列を削除してみます。

 

列を削除するにはcolumnsオブジェクトのdeleteメソッドを使用します。
コードは以下になります。

 

削除したい列番号(今回はC列なので3)をcolumnsオブジェクトに渡し
deleteを実行します。

コードを実行するとC列が削除されます。

 

複数列まとめて削除する

黄色で色を塗ったC列からF列まで削除してみます。

 

複数列をまとめて削除するにはRangeオブジェクトのdeleteメソッドを使用します。
コードは以下になります。

 

C列(列番号3)からF列(列番号6)までを削除したいので
Rangeオブジェクトの中に

  • 削除したい最初の列番号を渡したcolumnsオブジェクト
  • 削除したい最後の列番号を渡したcolumnsオブジェクト

を利用して削除列を指定します。

コードを実行するとC列からF列までを削除します。

コメント