• ベストアンサー

ショットカットキーをマクロで登録可能?

Excel VBAでショットカットキーをコードで登録することは可能でしょうか? また、CTRL-rは通常、左のセルをコピーする機能ですが、これに割り当てた場合、割り当てたマクロが優先されると思いますが、別機能が割り当てられているかどうか判断する方法はありますか?

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

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

>Excel VBAでショットカットキーをコードで登録することは可能でしょうか? 可能です。 [MacroOptions メソッド]について調べてみてください。 サンプルとしては Sub test()   Application.MacroOptions Macro:="Macro01", _                HasShortcutKey:=True, _                ShortcutKey:="r" End Sub Sub Macro01()   MsgBox "test" End Sub Sub test()実行で Macro01 にショートカットキー [Ctrl]+[r] が割り当てられます。 >別機能が割り当てられているかどうか判断する方法はありますか? 例えば、あるマクロに何のショートカットキーが割り当てられているか、 というピンポイントな調査方法はあるかと思いますが、 その方向で全てのマクロを調べるより、 実際に[Ctrl]+[r]をテストして結果をチェックしたほうが速いような気がします。 この場合の『判断する方法』とは手作業で、という意味で良いのですよね? 無理矢理コードでやるとしても、できなくもないですが、あまりお勧めするようなものではありません。 Sub chk()   With Workbooks.Add     With .Sheets(1)       .Range("A1").Value = 1       .Range("B1").Select       SendKeys "^r", True       MsgBox .Range("A1").Value = .Range("B1").Value     End With     .Close False   End With End Sub

すると、全ての回答が全文表示されます。

関連するQ&A