• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:特定の名前のシートがあるか確認するには)

特定の名前のシートが存在するか確認する方法

このQ&Aのポイント
  • 特定の名前のシートが存在するかどうかを確認する方法について説明します。
  • 複数のエクセルファイルの中にある特定の名前のシートを確認する方法を紹介します。
  • VBAコードを使用して、指定した名前のシートが存在するかどうかをチェックする方法を解説します。

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

次のようにすればよいでしょう。 For i = 1 To Worksheets.Count + 1 If i = Worksheets.Count + 1 Then MsgBox "[12]シートは存在しません" Exit For End If If Worksheets(i).Name = "12" Then MsgBox "[12]シートが存在します。" Exit For End If Next i

yuymipapa
質問者

お礼

うまく動きました なぜ Worksheets.Count + 1 とするのですか?

その他の回答 (3)

回答No.4

Option Explicit Sub シートの確認2() Const MyPath As String = "d:\tmp\tmp\" Dim MyBook As Workbook Dim MyFileName As String Dim xMsgBox As String Dim MyRng As Range Dim i As Long Dim ws As Worksheet, flag As Boolean MyFileName = Dir(MyPath & "*.xls*") Do While MyFileName <> "" If ThisWorkbook.Name <> MyFileName Then Set MyBook = Workbooks.Open(MyPath & MyFileName) For i = 1 To Worksheets.Count If Worksheets(i).Name = "12" Then 'MsgBox "[12]シートが存在します。" If xMsgBox = Empty Then xMsgBox = "[12]シートが存在します。" & vbNewLine & MyPath & vbNewLine & MyFileName Else xMsgBox = xMsgBox & vbNewLine & MyFileName End If Exit For End If Next i MyBook.Close (False) End If MyFileName = Dir() Loop If xMsgBox = Empty Then MsgBox "[12]シートが存在しません。" Else MsgBox xMsgBox End If End Sub

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.2

For i = 1 To Worksheets.Count ・ ・ ・ Next i ↓ For i = 1 To Worksheets.Count If Worksheets(i).Name = "12" Then MsgBox "[12]シートが存在します。" Exit For End If Next i if i> Worksheets.Count then MsgBox "[12]シートが存在しません。" End If とか。

  • maiko0318
  • ベストアンサー率21% (1483/6969)
回答No.1

ERR = 1; For i = 1 To Worksheets.Count If Worksheets(i).Name == "12" Then やることがないので反対にしました。 ERR = 0; End If Next i If ERR == 1 Then MsgBox "[12]シートが存在しません。" Else MsgBox "[12]シートが存在します。" End If