Application.OnKeyメソッドと、
Application.MacroOptionsメソッドの違いを解説します。
同じところ
両者ともマクロにショートカットキーを設定するメソッドです。
以下のコードはどちらもCtrl+Jにマクロをセットします。
Application.Onkey "^J", "テストマクロ" Application.MacroOptions "テストマクロ", ShortcutKey:="j"
違うところ
MacroOptionsは文字通り「マクロ オプション」の設定をするメソッドで、
このダイアログを手動で設定したときと同じ挙動になります。

対してOnKeyメソッドはExcel自体にショートカットキーを設定するメソッドで、
その設定はExcelを開いている間だけの一時的なものになります。
両者には大きく分けて以下の3つの違いがあります。
設定を保存できるかどうか
MacroOptionsは上記の通りマクロオプションの設定であるため、
ブックの情報として保存することができます。
対してOnKeyメソッドは「実行してからExcelを閉じるまで」の設定のため、
一度Excelを閉じると再度実行しない限り復元されません。
閉じているブックに対しても有効かどうか
OnKeyメソッドはExcel自体に設定をするメソッドのため、
開いていないブックのショートカットキー設定も可能です。
その状態でショートカットキーを実行すれば、
そのブックを開いてマクロを実行しようとしてくれます。
(ブックが存在しなければエラー)
対してMacroOptionsはブックに保存された設定のため、
そのブックを閉じている場合は有効になりません。
ファンクションキーや特殊キーに設定できるかどうか
MacroOptionsは「Ctrl+○」「Ctrl+Shift+○」にしか設定できず、
○に入るのもアルファベットに限定されます。
対してOnKeyメソッドはF1キーやInsertキー、Ctrl+Alt+○など、
ほぼすべてのキーに対してマクロを設定することが可能です。
使い分け
OnKeyメソッドは「実行しないと有効にならない」性質があるため、
通常はMacroOptionsを使用して設定しておけばOKです。
OnKeyメソッドを用いる目的としては、以下のような例が挙げられます。
一時的に有効にしたいショートカットキーがある場合
例えばボタンを押してから再度ボタンを押す間など、
一時的にだけ有効な設定する場合はOnKeyを使用します。
これなら「矢印キーをボタン押下中だけ図形の移動に割り当てる」など、
主要なキーを上書きするショートカットが設定可能です。
ファンクションキーや特殊キーに設定したい場合
マクロオプションでは設定できないF1キーやInsertキー、
Ctrl+Alt+○やCtrl+1などに設定したい場合はOnkeyを使用します。
この場合、ブックを開いただけでは有効になりませんので、
Workbooks.Openイベントに記載するなどして、
自動で実行される仕組みを作って運用してください。