アクティブにしたいシートをリストボックスで指定する
 サンプルでは、シートを選択するためのリストボックスを
メニューバーに作成します。リストボックスでシートが選択されると、
そのシートがアクティブになります。


'--- メニューバー上にリストボックスを作成します ---
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

Excel97/2000



戻る


Excel Word Access VBA! モーグ