- ベストアンサー
特定の名前のシートが存在するか確認する方法
- 特定の名前のシートが存在するかどうかを確認する方法について説明します。
- 複数のエクセルファイルの中にある特定の名前のシートを確認する方法を紹介します。
- VBAコードを使用して、指定した名前のシートが存在するかどうかをチェックする方法を解説します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
次のようにすればよいでしょう。 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
その他の回答 (3)
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
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)
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)
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
お礼
うまく動きました なぜ Worksheets.Count + 1 とするのですか?