| 
    
     |  | いろいろ調べたのですが、自己解決できそうにないので、質問させてください。 
 VBAのマクロ(最後に載せます)を使って、ワークシートメニューバーに
 [仮]メニューを追加、「仮」に"Hoge()"を呼び出すitem[ほげ]を追加しました。
 そして、[仮]-[ほげ]を選択すると、メッセージボックスが表示され、うまく
 動いているように見えました。が、残念なことに、セルの編集中に[仮]-[ほげ]
 を選択してもなにも実行されませんでした。
 # 実行したExcelのバージョンは2000です
 
 この状態はとても気持ち悪いので、セルの編集中でも"Hoge()"を実行できるよ
 うにしたいのですが、方法がわかりません。どなたか教えて頂けないでしょうか?
 また、そのものずばりでなくても、手掛かりとなりそうな情報を提供して頂ける
 と助かります。
 
 (自分で調べて挫折した事
 ・[編集]-[削除]等は、セル編集中に無効になるから、真似できれば・・・
 → セルの編集開始、終了でメニューのEditableを変更しているのかな?
 → でも、ActiveCellの編集開始、編集終了イベントが見つからない
 → CommandBarButton には Clickイベントしか無さそう
 ・[編集]-[コピー]等は、セル編集中にも実行できるから、真似できれば・・・
 → [編集]-[コピー]には、そもそもOnActionが登録されてない。訳わかんない。
 )
 
 よろしく御願いします。
 
 '=========== ソース ===========
 Sub AddHoge()
 Dim sysMenuBar As CommandBar
 Dim menu As CommandBarControl
 Dim btn As CommandBarButton
 
 ' ワークシートメニューバーに "仮" を追加
 Set sysMenuBar = Application.CommandBars("Worksheet Menu Bar")
 Set menu = sysMenuBar.Controls.Add(Type:=msoControlPopup, Temporary:=True)
 menu.Caption = "仮"
 
 ' "仮" に "ほげ" を追加
 Set btn = menu.Controls.Add(Type:=msoControlButton)
 With btn
 .Caption = "ほげ"
 .Style = msoButtonCaption
 .FaceId = 0
 .OnAction = "Hoge"
 End With
 End Sub
 
 Sub Hoge()
 MsgBox "ほげ"
 End Sub
 
 |  |