教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA セル操作】選択した行または列を削除(Delete)する方法を教えて!

f:id:m_kbou:20200419130703p:plain

選択した行や列を削除する方法について説明します。削除するにはDeleteメソッドを使います。行を削除するとデータ範囲が上にシフトし、列を削除するとデータ範囲が左にシフトします。

 

【目次】

 

構文

記述方法は以下の通りとなります。

Range(”[行範囲]”).EntireRow.Delete

Range(”[列範囲]”).EntireColumn.Delete

[説明]:

選択した行を削除するには「Range(”[行範囲]”).EntireRow.Delete」と記述し、選択した列を削除するには「Range(”[列範囲]”).EntireColumn.Delete」と記述します。[行範囲][列範囲]には削除する行や列の範囲を記述し、「”」(ダブルクォーテーション)で囲みます。行や列を削除するにはDeleteメソッドを使用し、行を削除する場合はEntireRow.Deleteと記述し、列を削除する場合はEntireColumn.Deleteと記述します。内容を纏めると、「[行範囲]や[列範囲]で指定した範囲を削除して下さい。」との意味になります。

[記述例]:

Range("2:3").EntireRow.Delete
Range("B:C").EntireColumn.Delete

 

使い方

使い方について具体的に説明していきます。

行範囲を削除する方法

行範囲を削除する方法について説明します。

[プログラミング例]:

Sub サンプル()
    Range("2:3").EntireRow.Delete
    MsgBox "削除しました。"
End Sub

内容は、「2行目~3行目を削除し、最後にMsgBoxで”削除しました。”のメッセージを表示して下さい。」との意味になります。

f:id:m_kbou:20210419073240p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①1行目~4行目にデータが入力され表示されています。<実行>ボタンをクリックします。このボタンには上記のプログラミング例のプログラムが登録されています。(※ボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210419073254p:plain

②結果は以下の様になります。2行目~3行目が削除され、MsgBoxで「削除しました。」が表示されます。

f:id:m_kbou:20210419073308p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

行範囲を削除する方法についての説明は以上です。

 

列範囲を削除する方法

列範囲を削除する方法について説明します。

[プログラミング例]:

Sub サンプル()
    Range("B:C").EntireColumn.Delete
    MsgBox "削除しました。"
End Sub

内容は、「B列~C列を削除し、最後にMsgBoxで”削除しました。”のメッセージを表示して下さい。」との意味になります。

f:id:m_kbou:20210419073430p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。 

[実行例]:

①A列~D列にデータが入力され表示されています。<実行>ボタンをクリックします。このボタンには上記のプログラミング例のプログラムが登録されています。(※ボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210419073443p:plain

②結果は以下の様になります。B列~C列が削除され、MsgBoxで「削除しました。」が表示されます。

f:id:m_kbou:20210419073456p:plain

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

列範囲を削除する方法についての説明は以上です。

  

おわりに

今回は選択した行または列を削除する方法について説明しました。類似内容に行や列の挿入方法があります。こちらも是非一緒に覚えておいて下さい。