Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » 最後・末尾・右端のシートをExcel VBAで削除する

最後・末尾・右端のシートをExcel VBAで削除する

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2211 ビルド15831.20190 Microsoft Store)

「マクロ 最後のシート 削除」
「VBA 末尾シート 削除」
「excel vba 一番右のシート 削除」
といった検索キーワードでアクセスが時折あります。

[スポンサードリンク]

最後・末尾・右端のシートを削除するサンプルマクロ

複数のシートが存在するブックがアクティブな状態で、以下のExcelマクロを実行してください。

Sub 最後のシートを削除する()
 Dim cnt As Long
 cnt = Sheets.Count
 Sheets(cnt).Delete
End Sub

「このシートは完全に削除されます。続けますか?」
確認メッセージボックスが表示され[削除]ボタンを押すと、最後・末尾・右端のシートが削除されます。

サンプルマクロで行っている処理内容

SheetsコレクションのCountプロパティを使って、

シートの枚数を取得し、Long型の変数cntに代入しておいて、

cnt = Sheets.Count

Sheetsコレクションの既定メンバーである_Defaultプロパティの引数に、

変数cntに代入されているシート枚数を指定することで、

Sheets(cnt).Delete

最後・末尾・右端のシートを取得して、Worksheet.Deleteメソッドで

削除しています。

Sheets(cnt).Delete

意味がわかれば、変数cntを使わずに

Sheets(Sheets.Count).Delete

としてもイイかなと感じます。

確認メッセージを表示したくない場合

「このシートは完全に削除されます。続けますか?」
確認メッセージを表示させたくない場合は、削除前にApplicationオブジェクトのDisplayAlertsプロパティに

論理値Falseを指定してください。

Sub 最後のシートを削除する_確認メッセージ無し()
 Application.DisplayAlerts = False
 Sheets(Sheets.Count).Delete
End Sub

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » 最後・末尾・右端のシートをExcel VBAで削除する

「Sheets・Worksheet」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.