Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • ベストアンサー

VBA2003: 自作メニューバーを操作したい

Application.CommandBars("Worksheet Menu Bar").Controls.Add このメソッドを使って Excelのメニューバーに自作メニューを追加しました。 メニューは階層構造になっています。 Excelのシート名によって、このメニューに定義したサブメニューやコマンドを Enabled = True/False で表示制御したいのですが、その方法がわかりません。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.1

VBEのVBAProjectの中の、Thisworkbookをクリックして、イベントの SheetActivateを出して Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Sh.Name = "Sheet2" Then MsgBox "AAA" End If End Sub のようにして、 Sheet2のシートタブをクリックして開くと、AAAが表示されるでしょう。他の場合は表示されないでしょう。 これを使ってそのオブジェクトをEnabled = True/False で決めれば良いのではないでしょうか。 処理を、Sheet2とそれ以外にするには、上記のIFステートメントブロックでElseを入れて、Sheet2以外の場合の処理を書き込む。

masnoske
質問者

お礼

お礼を忘れていました. 申し訳ありません.

すると、全ての回答が全文表示されます。

関連するQ&A