コンボボックスの項目で指定したシートを表示する方法です。Excel 2003で動作確認を行っています。
新規ファイルを作成します。 あらかじめリストへ表示する為にA1~A3に「Sheet1,Sheet2,Sheet3」と入力します。
コントロール ツールボックスにある[コンボボックス]を選択し、シートに貼り付けます。同様に[コマンド ボタン]もシートに貼り付けます。
コントロール ツールボックスにある[デザインモード]を有効にし、先ほど貼り付けたコンボボックスを選択し、右クリックでプロパティを開きます。
Styleを「2- fmStyleDropDownList」に変更します。ListFillRangeに「Sheet1!A1:A3」にします。
貼り付けた[コマンド ボタン]をダブルクリックし、下記のコードをコピー&ペーストします。
' ボタンがクリックされた時に動く処理 Private Sub CommandButton1_Click() ' 現在、どのシート名を選択しているか取得する Dim selectedValue As String selectedValue = ComboBox1.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へ表示が変わりましたでしょうか。