「追加したはずの右クリックメニューが表示されない」事件 の続き
昨日は、追加したはずの右クリックメニューが表示されないケースを紹介しました。
その後しばらくして、また同じ相談が寄せられました。上記の経験があったため、私は直ぐに「標準」表示にするよう伝えました。ところが、それでも解決しないというのです。
調査してみたところ、次のことが分かりました。
- 同じシート内でも、右クリックメニューが出る場合と、出ない場合がある。
さて、この違いは何だろう?色々と調べて、次のことが分かりました。
- テーブルとして書式設定された範囲内では、今までの方法で右クリックメニューが出せない
そこで色々と調べ最終的に、右クリックメニューの追加マクロを次の通り修正しました。
Sub AddNewMenu(new_caption As String, new_action As String) Dim NewMenu(1) As CommandBarButton Set NewMenu(0) = Application.CommandBars("Cell").Controls.Add() Set NewMenu(1) = Application.CommandBars("List Range Popup").Controls.Add() '---(1) Dim i As Long For i = 0 To 1 With NewMenu(i) .Caption = new_caption .OnAction = new_action .BeginGroup = False End With Next i End Sub
(1)が、今回の主たる追加個所です。これでテーブルの範囲内であっても、右クリックメニューに指定したマクロが追加されることを確認しました。
その後、テーブルがあっても無くても、右クリックメニューを追加する場合は必ずこれを追加するようにしています。その結果、今迄のところ同じ問い合わせは受けていません。
※メニューを消す場合は、以下をご使用ください。
Sub DelMenu() Application.CommandBars("Cell").reset Application.CommandBars("List Range Popup").reset End Sub
参考まで。