【Excel VBA】ワークシート名と存在を確認して、重複している場合に処理を中断する方法!手順まとめ!(初心者向け・簡単コピペで利用可能!)

目次

重複している場合に処理を中断する

指定したシート名が既に存在する場合には処理を「中止」し、ない場合には、処理を「続行」させます。

    '任意のワークシート名を指定
    Dim trgtShName As String
    trgtShName = "シート名"
    
    
    'シートが開いているかチェックするフラグを定義
    Dim flg As Boolean
    'ワークシートオブジェクトを定義
    Dim ws As Worksheet
    'マクロ実行ブックの全シートにループ処理実行
    For Each ws In ThisWorkbook.Worksheets
        'シートの名前が目的のブック名と一致した場合、中止処理を実行
        If ws.Name = trgtShName Then
            'フラグをTrueにしてループを抜ける
            flg = True
            'メッセージの表示と処理中止
            MsgBox "このシートは既に作成されています", vbCritical
            Exit For
        End If
    Next
    
    'フラグがFalseだった場合(指定したシート名がない場合)
    If flg = False Then
        
       'ここに実行したい処理を記述します。(例えば、テンプレートシートをコピーして、2番目に追加するとか...)
       Worksheets("テンプレートシート名").Copy After:= Worksheets(1)

    End If
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次