HOME > 即効テクニック > Excel VBA > シート操作関連のテクニック > 前のシートや次のシートを選択する (Nextプロパティ / Previousプロパティ)

前のシートや次のシートを選択する (Nextプロパティ / Previousプロパティ)|Excel VBA

シート操作関連のテクニック

前のシートや次のシートを選択する (Nextプロパティ / Previousプロパティ)

(Excel 97/2000/2002/2003/2007/2010)

アクティブシートの次のシートや前のシートを選択する場合で、シート名に関係なく処理を行う場合にはNextプロパティを使用します。
サンプル1ではメッセージボックスによって次のシートかもしくは前のシートかをユーザに選択させ、NextプロパティまたはPreviousプロパティで対象シートを取得し、アクティブにします。

●サンプル1●

Sub NextOrPrevious()

    Dim intChoice As Integer
    Dim strMsg As String
    
    'メッセージボックスのPrompt表示用文字列
    strMsg = "次のシートを選択 : はい(Yes)" & Chr(10) & _
        Chr(10) & "前のシートを選択 : いいえ(No)"
    
    'メッセージボックスで次のシートか前のシートかを指定
    intChoice = MsgBox(strMsg, vbYesNoCancel)
    
    'Yesの場合は次のシートを、Noの場合は前のシートを選択
    Select Case intChoice
        Case vbYes:
            If ActiveSheet.Name = Sheets(Sheets.Count).Name Then
                MsgBox "現在のシートが末尾のシートです"
            Else
                ActiveSheet.Next.Activate
            End If
        Case vbNo:
            If ActiveSheet.Name = Sheets(1).Name Then
                MsgBox "現在のシートが先頭のシートです"
            Else
                ActiveSheet.Previous.Activate
            End If
        Case Else: Exit Sub
    End Select

End Sub

NextプロパティはRangeに対しても使用できます。この場合にはシート上でTabキーを押したのと同じ動作になります。(セルの編集中を除く)

●サンプル2●

Sub NextOrPreviousCell()

    ActiveCell.Next.Select

End Sub