【超初心者向け Excel VBA】セルを削除する方法をサンプルコードを使って解説!

こんにちは!『ルウちゃんのExcel Labo』管理人の@rouxchanblogです!
今回はこのような悩みについて解説します。

セルの値を消す方法はわかるけど、
セル自体を削除する方法がわからない!
- セルを削除するにはDeleteメソッドを使う
- 引数を与えるとシフトする方向を指定できる
- ワークシートの削除も可能
はじめに
今回はセル自体を削除する”Delete”メソッドについて解説します。
メソッドについてくわしく知りたい方は下記の記事を参考にしてください!
早速ですがDeleteメソッドの使い方を見ていきましょう!
Deleteメソッドとは
Deleteメソッドはその名の通り削除する時に使います。
Deleteはメソッドなのでオブジェクト(対象)を指定する必要があります。
今回はこの表を使ってどのように処理されたかを見ていきます。


実際のコードを見ていきましょう!
Sub セルを削除する方法()
<span class="bold-red">Range("B4:D5").Delete</span>
End Sub
このB4〜C5までを削除するマクロを実行していきます。


このように指定したセルが削除され、それに伴ってセルが上方向にシフトしているのが確認できます。
さらにDeleteメソッドでは範囲が縦長なら左方向へ、横長なら上方向にシフトする性質を持っています。
セルを指定した方向にずらす
次はセルのシフトする方向を指定する方法を見ていきましょう。
Deleteメソッドに引数を与えてあげることでシフトする方向を指定することができます。
引数については以下の記事で解説していますので参考にしてください!
コードはこのように書いていきます!
Sub セルを削除する方法()
Range("B4:D5").Delete<span class="bold-red"> xlShiftToLeft</span>
End Sub


このように先ほどは上方向にシフトしていましたが、指定することで左にシフトすることができました!
コードの書き方は以下の通りです。
オブジェクト.Delete<span class="bold-red"> xlShiftToLeft</span>
いきなり”xlShiftToLeft”という難しそうなコードがでてきましたね。
最初の内は長い英語が羅列していると、うわっ難しそう!ってなると思いますが、
今は単純に”xlShiftToLeft”=左にずらす と覚えていただいて大丈夫です!
メソッドと引数の間にスペースを空けるのも忘れないように注意してくださいね!
ワークシートを削除するには
Deleteメソッドを使うとワークシートを削除することもできます。
実際の画面を見ながら理解していきましょう!
まずシートを2枚用意します。


シートを削除するコードを実行していきましょう!
Sub ワークシートを削除する方法()
<span class="bold-red">Worksheets("sheet2").Delete</span>
End Sub
オブジェクトに”sheet2″を選択して、Deleteメソッドを実行しています。


“sheet2″が削除され、”sheet1″だけが残りましたね。
このようにVBAを使うことでシートを操作することもできるのです!
まとめ
- セルを削除するにはDeleteメソッドを使う
- 引数を与えるとシフトする方向を指定できる
- ワークシートの削除も可能
今回はDeleteメソッドを使ったセルを削除する方法を解説しました!
Deleteメソッドはセルやワークシートの操作でよく使いますので、
実際に手を動かしてマスターしてください!
この記事で少しでもみなさんのお役に立てれば幸いです!
ありがとうございました!
【参考書籍】
コメントはお気軽に!