大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAで、シートの存在をチェックするには、シートをループして、シート名の有無を確認するとできます。シートの存在を確認して、シート名を操作することで、エラーを回避してシート名を操作することができます。シートの存在を確認する方法について、マスターしていきましょう。

はじめに

この記事では、シートの存在を確認する方法について、ご紹介します。

シートの存在を確認するには、シートをすべてループして、一致するシート名が存在するかを確認します。

同じシート名を設定すると、エラーとなってしまうので、エラー回避のため、シートの存在を確認して、シートを名を操作するといいです。

シートの存在を確認する方法について、マスターしていきましょう。

では、シートの存在を確認する方法について、解説していきます。

この記事を読むメリット

  • シートの存在を確認して、エラーを回避して、シート名を操作することができるようになります。

目次

シートの存在をチェックする

シートの存在をチェックしてみます。

シートをループしてシート名の有無を確認

シートの存在をチェックするには、シートをループしてシート名の有無を確認します。

Sub TEST1()
  
  '「Sheet2」の存在をチェック
  For i = 1 To Sheets.Count
    If Sheets(i).Name = "Sheet2" Then
      Debug.Print "Sheet2は存在します"
    End If
  Next
  
End Sub

「For Each」を使う場合は、次のようになります。

Sub TEST2()
  
  Dim A
  '「Sheet2」の存在をチェック
  For Each A In Sheets
    If A.Name = "Sheet2" Then
      Debug.Print "Sheet2は存在します"
    End If
  Next
  
End Sub

では、実行してみます。

シートをループして、シート名の有無を確認します。

シートをループして、「Sheet2」を確認する

シートをループして、シート名の有無を確認します

実行すると、シートをループして、「Sheet2」の有無を確認できます。

「Sheet2」の存在を確認できた

シートをループして、「Sheet2」の有無を確認できました

シートをループして、「Sheet2」の有無を確認できました。

シートの存在をチェックする場面

シートの存在をチェックする場面は、シートを作成したり、シートをコピーする場合に使います。

既に存在するシート名を付けてしまうとエラーとなってしまうので、シートの存在をチェックして、シート名を操作するといいです。

シートを追加する場合

シートの存在をチェックして、「D」のシートを追加してみます。

Sub TEST3()
  
  Dim Flag
  Flag = 0 '初期値
  '「D」の存在をチェック
  For i = 1 To Sheets.Count
    If Sheets(i).Name = "D" Then
      Flag = 1 '「D」がある場合
    End If
  Next
  
  '「D」がない場合、「D」のシートを追加
  If Flag = 0 Then
    Sheets.Add after:=Sheets(Sheets.Count)
    ActiveSheet.Name = "D"
  End If
  
End Sub

シートの存在をチェックして、シートを追加してみます。

シートの存在をチェックして、シートを追加

シートの存在をチェックして、シートを追加してみます

では、実行してみます。

「D」のシートがない場合は、「D」のシートを追加します。

「D」のシートをがない場合は、追加

「D」のシートがない場合は、「D」のシートを追加します

「D」のシートが既にある場合は、そのままにします。

「D」のシートがある場合は、そのまま

「D」のシートが既にある場合は、そのままにします

という感じで、「D」のシートの存在をチェックすることで、エラーを回避して、シートの追加ができます。

シートをコピーする場合

シートの存在をチェックして、「D」のシートをコピーしてみます。

Sub TEST4()
  
  Dim Flag
  Flag = 0 '初期値
  '「D」の存在をチェック
  For i = 1 To Sheets.Count
    If Sheets(i).Name = "D" Then
      Flag = 1 '「D」がある場合
    End If
  Next
  
  '「D」がない場合、コピーして「D」のシートを作成
  If Flag = 0 Then
    Sheets("A").Copy after:=Sheets(Sheets.Count)
    ActiveSheet.Name = "D"
  End If
  
End Sub

シートの存在をチェックして、シートをコピーしてみます。

シートの存在をチェックして、シートをコピー

シートの存在をチェックして、シートをコピーしてみます

では、実行してみます。

「D」のシートがない場合は、シートをコピーして「D」のシートを作成します。

「D」のシートがない場合は、コピー

「D」のシートがない場合は、シートをコピーして「D」のシートを作成します

「D」のシートが既にある場合は、そのままにします。

「D」のシートがある場合は、そのまま

「D」のシートが既にある場合は、そのままにします

という感じで、シートの存在をチェックすると、エラーを回避してシートのをコピーして作成することができます。

おわりに

この記事では、シートの存在を確認する方法について、ご紹介しました。

シートの存在を確認するには、シートをすべてループして、一致するシート名が存在するかを確認します。

同じシート名を設定すると、エラーとなってしまうので、エラー回避のため、シートの存在を確認して、シートを名を操作するといいです。

シートの存在を確認する方法について、マスターしていきましょう。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

サイト内を検索する

↓キーワードを入力する

アーカイブから探す