ie-excel

エクセル・マクロでie操作

シートを削除する

2016/10/17

オブジェクト.Delete

オブジェクト.Deleteを使用します。
オブジェクトにはワークシートオブジェクトを指定します。
例示とともに使用方法を見ていきます。

指定された名前のシートを削除する

指定された名前のシートを削除するコードです。
以下では「sheet1」という名前のシートを削除しています。

Sub シート削除()
  Worksheets("sheet1").Delete
End Sub

同じシート名がないかを確認して、同一シート名があった場合削除する

シートを追加し、追加したシート名を指定する場合、同一シートがあった場合はそのシートを削除する必要があります。
追加するシート名と同一のシート名がないかを確認し、同一シート名があった場合はシートを削除するコードです。

Sub 同一名シート削除()
  Dim Sheet_Name As String 
  Dim se As Worksheet

  Sheet_Name = "新しいシート"

  For Each se In Worksheets
    If se.Name = Sheet_Name Then
        Worksheets(Sheet_Name).Delete
    End If
  Next se
End Sub

削除前のアラートを非表示にする

シートがDeleteされる際、確認のダイアログが表示されます。
これを非表示にするためには「DisplayAlerts」で制御します。

Sub 同一名シート削除()
  Dim Sheet_Name As String 
  Sheet_Name = "新しいシート"
  Application.DisplayAlerts = False     
  Worksheets(Sheet_Name).Delete
  Application.DisplayAlerts = True
End Sub

-VBA