CH3COOH(酢酸)が.NET FrameworkやWindows Mobileの事を始め、日々情報を発信中!

リストの項目で指定したシートを表示する方法

リストの項目で指定したシートを表示する方法です。 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へ表示が変わりましたでしょうか。


Copyright(C) since 2008 CH3COOH(酢酸). All Rights Reserved.