#author("2016-09-07T23:06:02+09:00","default:Miyashita","Miyashita") *シートの追加・削除 [#r7f769e3] 作りたいシートが既にあったり,なかったり.~ シートの有無の判定はコードにすると数行だが,毎回書くのは面倒なのでSubを作成.~ Dim ToF As Boolean Dim Sht As Worksheet Sub SheetExist(book As Workbook, sheetname As String) 'シートの有無を判定 ToF = False For Each Sht In book.Worksheets If Sht.Name = sheetname Then ToF = True Next '無ければエラーとして終了 If Not (ToF) Then MsgBox "シート " & sheetname & vbCrLf & _ "が" & book.Name & "にありません。処理を終了します。" End End If End Sub #author("2018-02-21T15:00:18+09:00","default:Miyashita","Miyashita") Sub MakeNewSheet(book As Workbook, sheetname As String) 'シートの有無を判定 ToF = False For Each Sht In book.Worksheets If Sht.Name = sheetname Then ToF = True Next Sht '無ければシートを新規作成 If Not (ToF) Then With book.Worksheets .Add after:=book.Worksheets(.Count) book.Worksheets(.Count).Name = sheetname End With End If End Sub Sub SheetDel(book As Workbook, sheetname As String) 'シートの有無を判定 ToF = False For Each Sht In book.Worksheets If Sht.Name = sheetname Then ToF = True Next 'シートが指定ブックにある場合は削除する If (ToF) Then Application.DisplayAlerts = False book.Worksheets(sheetname).Delete Application.DisplayAlerts = True End If End Sub ワークブックを指定する引数bookはthisworkbookとか.~ 他ファイル(ブック)の中のシートをいじりたい場合は, Dim WB as Workbook set WB = Workbooks("ファイル名") とかにして,WBを引数とすればOK.~