【ExcelVBA】シート削除(シートが存在している場合)

VBAでシートを削除したい際に、存在しないシートを削除しようとするとエラーになってしまうため、
存在しているか判定してから削除するようにしましょう。

VBA
	Dim ws As Worksheet
	Dim SheetName As String

	'削除シート名指定
	SheetName = "Sheet1"

	'削除時メッセージ非表示
	Application.DisplayAlerts = False

	'全ワークシート検索
	For Each ws In Worksheets
		'シート名が一致したら削除
		If ws.Name = SheetName Then
			ws.Delete
		End If
	Next ws

	'削除時メッセージ表示
	Application.DisplayAlerts = True

頻繁に使う場合は、関数化しておくとスッキリします。

VBA
Call SheetDelete("Sheet1")
VBA
'プロシージャ宣言
Function SheetDelete(ByVal SheetName As String)

    Dim ws As Worksheet

    '削除時メッセージ非表示
    Application.DisplayAlerts = False

    '全ワークシート検索
    For Each ws In Worksheets
        'シート名が一致したら削除
        If ws.Name = SheetName Then
            ws.Delete
        End If
    Next ws

    '削除時メッセージ表示
    Application.DisplayAlerts = True
    
End Function