EXCEL、VBA

【VBA】シートを削除する

 

シートを削除する構文

シートを削除する構文は次のとおりです。

'シートを削除する
Sheets("シート名").Delete

'例
Sheets("Sheet2").Delete

 

削除する際に確認メッセージが表示されますが、表示されないようにするには次のようにします。

'シートを削除する
Application.DisplayAlerts = False ' 削除確認メッセージ非表示
Sheets("シート名").Delete
Application.DisplayAlerts = True  ' メッセージ表示に戻す

'例
Application.DisplayAlerts = False
Sheets("Sheet2").Delete
Application.DisplayAlerts = True

 

 

シートを削除する

指定したシート名のシートを削除する関数です。

引数 SheetName :シート名(文字列)

戻り値 True:削除成功/ False:削除失敗

Public Function deleteWorksheet(ByVal SheetName As String) As Boolean

On Error GoTo Catch

    Application.DisplayAlerts = False ' 削除確認メッセージ非表示
    Sheets(SheetName).Delete
    Application.DisplayAlerts = True  ' メッセージ表示に戻す
        
    deleteWorksheet = True
    Exit Function
  
Catch:
    deleteWorksheet = False
    
End Function

 

実行例

Debug.Print deleteWorksheet("Sheet1")
' True

Debug.Print deleteWorksheet("Sheet2")
' False