Excel/VBAマクロ

Excel VBA シート一覧を元にシートを削除する

複数のシートをまとめて削除するような場合、対象のシートをひとつづつ選択していくのは間違いを起こしてしまいそうなので、あらかじめ削除対象のシート一覧を作成して確認をしてから削除すれば安心ですね。以下は「削除シート一覧」という名前のシートを用意しb2:b500に記載しているシートを削除するものです。

Sub test()
'シート一覧にあるシート名を削除する
For Each sh In ActiveWorkbook.Sheets
    sn = sh.Name
    x = WorksheetFunction.CountIf(Worksheets("削除シート一覧").Range("b2:b500"), sn)
    'MsgBox x
    If x > 0 Then
        '削除確認を求めない
        Application.DisplayAlerts = False
        sh.Delete
        Application.DisplayAlerts = True
    End If
    Next
End Sub
VBAの動作方法がわからない方はこちら参考にしてください
スポンサーリンク
タイトルとURLをコピーしました