- ベストアンサー
エクセルマクロの記録で記録した、ショートカットキーで起動するプロシージャの移動方法
エクセル2002で、マクロの記録で記録した、ショートカットキーで起動するプロシージャを作成しました。このプロシージャは、作成するたびに新たなモジュールを自動で造りその中に記録されます。 このように作成したプロシージャを一つのモジュールにまとめたいのですが、切り取り~貼り付けを行って移動すると、起動しなくなります。 マクロの記録で記録した、ショートカットキーで起動するプロシージャのモジュール間での移動方法をお教え下さい。若しくは、指定するモジュールに上記プロシージャを記録する方法をお教え下さい。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 本来、設定自体に問題があるような気がします。 良く使うショートカットでしょうか? 良く使うショートカットでしたら、PEROSNAL.XLS の標準モジュールに入れてください。 それからショートカットの設定は、一旦、全部、なくしたほうがよいです。 そして、 PERSONAL.XLS の標準モジュールに以下のように設定します。 以下は、実際に私が使っているものを元にして書いたものです。 '------------------------------------------- Sub Auto_Open() Call SettingKeys False End Sub Sub Auto_Close() Call SettingKeys True End Sub Sub SettingKeys(setkeyflg As Boolean) 'ショートカット設定 'OnKey "キー設定","プロシージャ名" If setkeyflg = False Then Application.OnKey "^S", "MyMacro1" 'Ctrl + S Application.OnKey "^2", "MyMacro2" 'Ctrl + 2 Application.OnKey "+v", "MyMacro3" 'Shift + V Application.OnKey "+{F11}", "MyMacro4" 'Shift + {F11} SetKeyFlg = True Else 'ショートカット解除 Application.OnKey "^S", "" Application.OnKey "^2", "" Application.OnKey "+v", "" Application.OnKey "+{F11}", "" End If End Sub この設定で気が付いたと思いますが、Shift + V のショーカットもありなのです。OnKey のほうが幅広く設定できます。出来ないものは、当たり前のようですが、Ctr+ C だったような気がします。ほとんどのショートカットの組み合わせが可能です。詳しくは、ヘルプをご覧ください。
お礼
Wendy02さん。早速のご回答ありがとうございました。 ちなみに良く使うショートカットではありませんので、PEROSNAL.XLS の標準モジュールは次回以降に考えてみます。 「ショートカットの設定は、一旦、全部、なくしたほうがよい」とのご回答からは、「マクロの記録では、これが限界と受け取り、私の質問に対する機能はない」と判断し、アドバイスの通り、ショートカットキーマクロは、すべて造り直す事にいたします。また、OnKey についても経験がありますので、何かの機会に挑戦してみます。 このような場を利用しての質問は初めてですが、こんなに早く回答を頂き、大いに参考になり今後の対応を決定出来て、大変ありがたく思います。 大いに参考になりました。