動作検証バージョン: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
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
Application.DisplayAlerts = False
Sheets(Sheets.Count).Delete
End Sub
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » Sheets・Worksheet » 最後・末尾・右端のシートをExcel VBAで削除する