• ベストアンサー

エクセルマクロの記録で記録した、ショートカットキーで起動するプロシージャの移動方法

エクセル2002で、マクロの記録で記録した、ショートカットキーで起動するプロシージャを作成しました。このプロシージャは、作成するたびに新たなモジュールを自動で造りその中に記録されます。  このように作成したプロシージャを一つのモジュールにまとめたいのですが、切り取り~貼り付けを行って移動すると、起動しなくなります。 マクロの記録で記録した、ショートカットキーで起動するプロシージャのモジュール間での移動方法をお教え下さい。若しくは、指定するモジュールに上記プロシージャを記録する方法をお教え下さい。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.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 だったような気がします。ほとんどのショートカットの組み合わせが可能です。詳しくは、ヘルプをご覧ください。

sai103
質問者

お礼

Wendy02さん。早速のご回答ありがとうございました。  ちなみに良く使うショートカットではありませんので、PEROSNAL.XLS の標準モジュールは次回以降に考えてみます。  「ショートカットの設定は、一旦、全部、なくしたほうがよい」とのご回答からは、「マクロの記録では、これが限界と受け取り、私の質問に対する機能はない」と判断し、アドバイスの通り、ショートカットキーマクロは、すべて造り直す事にいたします。また、OnKey についても経験がありますので、何かの機会に挑戦してみます。  このような場を利用しての質問は初めてですが、こんなに早く回答を頂き、大いに参考になり今後の対応を決定出来て、大変ありがたく思います。 大いに参考になりました。