【Excel VBA】指定の名前のシートを探す

シート番号で探す

For i = 1 To Sheets.Count
    If Sheets(i).Name = "ほげ" Then
        Sheets(i).Acrivate
        Exit For
    End If
Next i

For Eachで探す

Dim ws As Worksheet
For Each ws In Sheets
    If ws.Name = "ほげ" Then
        ws.Activate
        Exit For
    End If
Next ws

For Eachの方が少し早めです。

エラー判定で探す

Dim str As String
On Error Resume Next
str = Sheets("hoge").Name
If Err.Number > 0 Then
    MsgBox "シートが存在しません。"
    Exit Sub
Else
    Sheets("hoge").Activate
End If

シートが存在しない場合は実行を中止するという意図があればこの方法が簡単。

スポンサーリンク