VBATips

一番左のシートを選択(表示)する【ExcelVBA】

単純なコードですが、実務でエラー発生するケースがあったため、備忘録として残します。
通常シート名はワークシート名で選択することが多いと思いますが、左から〇番目といった指定も可能です。
ただし、シートが非表示の場合はエラーが発生するため回避方法を記載します。

1番左のシートを選択するサンプルコード

’■1番左のシートを選択するサンプルコード
Public Sub sample()
    '■1枚目のシート(1番左のシート)を選択/Activate
    Worksheets(1).Select
    
    '■1枚目のシートが非表示だとエラーが発生する
    '実行時エラー '1004' Range クラスの Select メソッドが失敗しました。
    
    '■上記のエラーを回避する方法
    Dim i As Long
    For i = 1 To WorkSheets.Count
        '指定シートが表示(xlSheetVisible)されていれば、選択する。
        If Worksheets(i).Visible = xlSheetVisible Then
            Worksheets(i).Select
            Exit Sub
        End If
    Next i
End Sub

注意点

  • 特にありません。

関連記事

コメント

タイトルとURLをコピーしました