エクセルマクロで、特定文字を含むシートを一括削除するVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
ぜひお試しください!
特定文字を含むシートを削除
以下のマクロを実行すると、InStr関数を使用して特定文字を含むシートを一括削除します。
Sub 指定文字があったらシート削除()
Dim WS As Worksheet
Dim Target As String
Target = "PDF"
For Each WS In Worksheets
If InStr(WS.Name, Target) >= 1 Then
Application.DisplayAlerts = False
WS.Delete
Application.DisplayAlerts = True
End If
Next WS
'この後、ファイル保存等の処理を追加
End Sub
マクロ実行後
[Target = “PDF”] で指定した文字を含むシートのみ自動削除します。
特定文字を含むシートを削除(複数条件)
以下のマクロを実行すると、特定文字が存在するシートを自動削除します。
Sub 指定文字を含むシートをまとめて削除()
Dim WS As Worksheet
Dim Target As Variant
Dim i As Long
'この文字を含むシートを削除
Target = Array("PDF", "2")
For Each WS In Worksheets
For i = 0 To UBound(Target)
If InStr(WS.Name, Target(i)) >= 1 Then
Application.DisplayAlerts = False
WS.Delete
Exit For
Application.DisplayAlerts = True
End If
Next i
Next WS
'この後、ファイル保存等の処理を追加
End Sub
マクロ実行後
[Target = Array(“PDF”, “2”)] で指定した文字を含むシートのみ自動削除します。
特定文字を含むシートを削除(前方に含む)
以下のマクロを実行すると、ワイルドカード(アスタリスク)を使用して該当シートを削除します。
Sub 特定文字をふくむワークシート消去()
Dim WS As Worksheet
Dim Target As String
Target = "PDF"
For Each WS In Worksheets
If WS.Name Like Target & "*" Then
Application.DisplayAlerts = False
WS.Delete
Application.DisplayAlerts = True
End If
Next WS
'この後、ファイル保存等の処理を追加
End Sub
マクロ実行後
[Like Target & “*”] で、”PDF” で始まるシートを削除します。
特定文字を含むシートを削除(後方に含む)
以下のマクロを実行すると、条件に部分一致するシートを削除します。
Sub 任意文字が存在するシート削除()
Dim WS As Worksheet
Dim Target As String
Target = "PDF"
For Each WS In Worksheets
If WS.Name Like "*" & Target Then
Application.DisplayAlerts = False
WS.Delete
Application.DisplayAlerts = True
End If
Next WS
'この後、ファイル保存等の処理を追加
End Sub
マクロ実行後
[Like “*” & Target] で、”PDF” で終わるシートを削除します。
この記事がお役に立ちますと幸いです。
【エクセルマクロ】シートの追加・削除を自動化:超便利12選
...
「Excel自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!
リンク