リストの項目で指定したシートを表示する方法
リストの項目で指定したシートを表示する方法です。 Excel 2003で動作確認を行っています。
![]()
新規ファイルを作成します。
リストを作成したいセルを選択した状態で、[データ]→[入力規則]を選択します。
![]()
[設定]タブの[入力値の種類]で、リストを選択します。
[元の値]の入力項目が表示されますので、 「Sheet1,Sheet2,Sheet3」を入力します。
![]()
OKボタンを押下すると上記の設定が反映されて、 最初選択したセルの右側に▼が表示されているはずです。
![]()
コントロール ツールボックスにある[コマンド ボタン]を選択し、シートに貼り付けます。
シートに貼り付けたコマンドボタンをダブルクリックして、 下記のコードをコピー&ペーストします。
' ボタンがクリックされた時に動く処理
Private Sub CommandButton1_Click()
' 現在、どのシート名を選択しているか取得する
Dim selectedValue As String
selectedValue = Cells(1, 1).Value
' 取得したシート名が存在しているかチェックする
Dim isExist As Boolean
isExist = IsExistSheet(selectedValue)
If (Not isExist) Then
' 存在しないシートだったのでこれ以上処理を進めない
Return
End If
' 選択されたシートを表示する
Sheets(selectedValue).Select
End Sub
' 特定のシートが存在するかどうか調べる
Private Function IsExistSheet(sheetName As String) As Boolean
Dim retval As Boolean
retval = False
' 全てのシートの中から同名のシートがないか検索する
Dim sheet As Worksheet
For Each sheet In Worksheets
' シート名が同じかチェックする
If (sheet.Name = sheetName) Then
retval = True
Exit For
End If
Next sheet
IsExistSheet = retval
End Function
以上で準備は完了です。
リストにて「Sheet2」を選択して、ボタンを押下してください。
Sheet2へ表示が変わりましたでしょうか。