プロが教える店舗&オフィスのセキュリティ対策術

Windows Vista Excel2007です。
Sheet1に、次のようにVBAでプログラミングしたのですが、
'-------------------------------------------------------------------------------
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
  Application.CommandBars("Cell").Reset
  With Application.CommandBars("Cell").Controls.Add()
    .Caption = "テスト"
    .OnAction = "test"
  End With
End Sub

Public Sub test()
  MsgBox "OK"
End Sub
'-------------------------------------------------------------------------------
右クリックメニューには追加できたのですが、その「テスト」メニューをクリックすると、
次のようなエラーダイアログが表示されます。
「マクロ'Book1!test'を実行できません。このブックでマクロが使用できないか、
またはすべてのマクロが無効になっている可能性があります。」
セキュリティセンターは「すべてのマクロを有効にする」に設定しており、他のマクロは正常に動作します。
どうしてエラーになるのか全く分かりません。
どなたか原因をご存知の方、ご教示をお願いします。

A 回答 (1件)

>マクロ'Book1!test'を実行できません



このメッセージは文字通り、オンアクションからマクロ「test」を正しく呼び出せていない事を示しています。

手順:
シートモジュールに記入しているtestマクロを消去する

標準モジュールを挿入する
sub test()
msgbox "OK"
end sub
を記入し、改めて右クリックからテストを選ぶ。




別の方法:
testマクロを今の通りシートモジュールに記入する
.OnAction = me.name & ".test"
に修正する。
    • good
    • 0
この回答へのお礼

さっそくの回答ありがとうございます。
標準モジュールに移したら、うまく作動しました。

こんなに早く解決できるとは思ってもいませんでした。
本当に助かりました。ありがとうございました。

お礼日時:2013/01/08 10:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!