まさ工房

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

【Excelマクロ・VBA】アクティブシートを削除(Delete)にするにはどうすればいいの?教えて!

       

       f:id:m_kbou:20190730080101p:plain

アクティブになっているシートや指定したシートを削除する方法について説明します。ブック内の全てのシートを削除することはExcelの仕様上できないため、実行した場合はエラーになります。予め注意して下さい。

 

【目次】

 

構文

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

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

Activesheet.Delete

Worksheets(”[シート名]”).Delete

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

[説明]:

シートを削除するには、Deleteメソッドを記述します。アクティブになっているシートを削除したい場合はActivesheetを指定し、特定のシートを削除したい場合には[シート名]に削除したいシート名を記述します。また、シート名は「”」(ダブルクォーテーション)で囲みます。内容を纏めると、「アクティブシートや[シート名]で記述したシートを削除して下さい。」との意味になります。

[記述例]:

ActiveSheet.Delete
Worksheets("Sheet2").Delete

 

使い方

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

アクティブシートを削除する方法

アクティブシートを削除する方法について説明します。

[記述例]:

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

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

Sub サンプル()
    ActiveSheet.Delete
    MsgBox "アクティブシートを削除しました。"
End Sub

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

内容は、「アクティブシートを削除し、最後にMsgBoxで”アクティブシートを削除しました”のメッセージを表示して下さい。」との意味になります。

[実行例]:

・初期表示

f:id:m_kbou:20190711082308p:plain

・実行後 

f:id:m_kbou:20190711082339p:plain

 アクティブシートを削除する方法についての説明は以上です。

 

指定したシートを削除する方法

指定したシートを削除する方法について説明します。

[記述例]:

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

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

Sub サンプル()
    Worksheets("Sheet2").Delete
    MsgBox "Sheet2シートを削除しました。"
End Sub

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

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

[実行例]:

・初期表示

f:id:m_kbou:20190711082308p:plain

・実行後 

f:id:m_kbou:20190711082355p:plain

 指定したシートを削除する方法についての説明は以上です。

 

おわりに

今回は、シートを削除する方法について説明しました。シートが削除される前には警告メッセージが表示されます。また、一度削除したシートは元に戻す事ができません。注意して下さい。