まさ工房

ExcelVBAとAcessDBを利用した業務支援ツールを作成する工房です

【Excelマクロ・VBA】選択した行または列を削除(Delete)する方法を教えて!

       f:id:m_kbou:20190830075434p:plain

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

 

【目次】

 

構文

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

=======================================================================

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

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

=======================================================================

[説明]:

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

[記述例]:

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

 

使い方

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

行範囲を削除する方法

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

[記述例]:

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

-------------------------------------------------

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

-------------------------------------------------

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

[実行例]:

・初期表示

※データが入力されているA1セル~D4セルについて、2行目~3行目を削除します。

f:id:m_kbou:20190830075509p:plain

・実行後

※2行目~3行目が削除された後、”削除しました。”のメッセージが表示されます。(2行目の×と3行目の△が削除されました)

f:id:m_kbou:20190830075520p:plain

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

 

列範囲を削除する方法

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

[記述例]:

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

-------------------------------------------------

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

-------------------------------------------------

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

[実行例]:

・初期表示

※データが入力されているA1セル~D4セルについて、B列~C列を削除します。

f:id:m_kbou:20190830075540p:plain

・実行後

※B列~C列が削除された後、”削除しました。”のメッセージが表示されます。(B列の×とC列の△が削除されました)

f:id:m_kbou:20190830075553p:plain

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

  

おわりに

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