HOME > 即効テクニック > Excel VBA > シート操作関連のテクニック > アクティブにしたいシートをリストボックスで指定する

即効テクニック

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

アクティブにしたいシートをリストボックスで指定する

(Excel 97/2000)
サンプルでは、シートを選択するためのリストボックスをメニューバーに作成します。リストボックスでシートが選択されると、そのシートがアクティブになります。
'--- メニューバー上にリストボックスを作成します ---
Sub MakeListBox()

    Dim myBar  As CommandBar
    Dim myMenu As CommandBarControl
    Dim st     As Worksheet

    Set myBar = Application.CommandBars.Add (Name:="barTemp", _
                                             Position:=msoBarTop, _
                                             MenuBar:=True, _
                                             Temporary:=True)
    Set myMenu = myBar.Controls.Add (Type:=msoControlDropdown)
    myMenu.Caption = "btnSelect"
    For Each st In ActiveWorkbook.Worksheets
        myMenu.AddItem st.Name
        myMenu.OnAction = "SelectListBox"
    Next
    myBar.Visible = True
    
End Sub
'
'--- 選択されたシートをアクティブにします ---
Sub SelectListBox()

    Dim myBar  As CommandBar
    Dim myMenu As CommandBarControl

    Set myBar = Application.CommandBars("barTemp")
    Set myMenu = myBar.Controls("btnSelect")
    Worksheets(myMenu.Text).Activate
    
End Sub