ワークシートの追加、ワークシート名の変更の際にエラーとならない為に必要になります。
シート名は、大文字小文字、全角半角に関係なく同一とみなす為、UCase関数、StrConv関数を使用する必要があります。
Worksheets.Countプロパティでループ
実行プログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Sub Sample6_4_1() Dim strName As String Dim i As Integer Dim intFlg As Integer intFlg = 0 strName = "TEST" For i = 1 To Worksheets.Count If StrConv(UCase(Worksheets(i).Name), vbNarrow) = StrConv(UCase(strName), vbNarrow) Then intFlg = 1 Exit For End If Next If intFlg = 0 Then MsgBox "存在しないシート名です。" Else MsgBox "存在するシート名です。" End If End Sub |
Worksheetオブジェクトでループ
実行プログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Sub Sample6_4_2() Dim objWS As Worksheet Dim strName As String Dim intFlg As Integer intFlg = 0 strName = "TEST" For Each objWS In Worksheets If StrConv(UCase(objWS.Name), vbNarrow) = StrConv(UCase(strName), vbNarrow) Then intFlg = 1 Exit For End If Next objWS If intFlg = 0 Then MsgBox "存在しないシート名です。" Else MsgBox "存在するシート名です。" End If End Sub |
同様の結果になります。