Excel VBA 質問スレッド №1582 (未解決)

OnKeyメソッド

投稿者 : さんこうたろう     投稿日時 : 2023/09/25(Mon) 13:17:32     OS : Windows 10     EXCEL : Excel 2016
Sub msg()
    MsgBox "テスト"
End Sub
Sub keyt()
    Application.OnKey "%{n}", "msg"
End Sub

お世話になります。
上記のように標準モジュールに書いて、alt+nでmsgというプロシージャを動かそうとしたのですが、動きません。
何がダメなのかさっぱり分かりません。
ご指導宜しくお願い致します。

スポンサーリンク
[返信 1] Re : OnKeyメソッド
投稿者 : higeru     投稿日時 : 2023/09/25(Mon) 13:46:30
 ^%{n} とか ^+{n} なら動きますけど、Alt 単独だとショートカットとかぶるからダメなのでは。
 いうまでもないですが、後者でよければマクロのオプションで設定できますが。

[返信 2] Re : OnKeyメソッド
投稿者 : さんこうたろう     投稿日時 : 2023/09/26(Tue) 07:59:50
■[返信 1] higeruさん(2023-09-25 13:46:30)の記事
>  ^%{n} とか ^+{n} なら動きますけど、Alt 単独だとショートカットとかぶるからダメなのでは。
>  いうまでもないですが、後者でよければマクロのオプションで設定できますが。

higeruさん
ご返信ありがとうございます。

ですが、何故かそのように記述しても動かないのです。。

[返信 3] Re : OnKeyメソッド
投稿者 : higeru     投稿日時 : 2023/09/26(Tue) 11:07:30
■[返信 2] さんこうたろうさん(2023-09-26 07:59:50)の記事
> ■[返信 1] higeruさん(2023-09-25 13:46:30)の記事
> >  ^%{n} とか ^+{n} なら動きますけど、Alt 単独だとショートカットとかぶるからダメなのでは。
> >  いうまでもないですが、後者でよければマクロのオプションで設定できますが。

> higeruさん
> ご返信ありがとうございます。

> ですが、何故かそのように記述しても動かないのです。。

 あれ? Excel 2016 ですよね? こちらも同じ 2016 です。最近のバージョンではうまく動かない不具合が出ているらしいのですが。
 個人的には OnKey 使ったことないんですが、これじゃないとダメな理由はあるんでしょうか。

[返信 4] Re : OnKeyメソッド
投稿者 : さんこうたろう     投稿日時 : 2023/09/26(Tue) 12:41:25
■[返信 3] higeruさん(2023-09-26 11:07:30)の記事

higeruさん
今開いて調べましたら
Microsoft® Excel® 2016 MSO (バージョン 2308 ビルド 16.0.16731.20182) 32 ビット
(コピー&ペースト)
でした。
こういうのの違いが良く分かってないのですが、とりあえずこれではダメなんでしょうか。。



> ■[返信 2] さんこうたろうさん(2023-09-26 07:59:50)の記事
> > ■[返信 1] higeruさん(2023-09-25 13:46:30)の記事
> > >  ^%{n} とか ^+{n} なら動きますけど、Alt 単独だとショートカットとかぶるからダメなのでは。
> > >  いうまでもないですが、後者でよければマクロのオプションで設定できますが。
> >
> > higeruさん
> > ご返信ありがとうございます。
> >
> > ですが、何故かそのように記述しても動かないのです。。

>  あれ? Excel 2016 ですよね? こちらも同じ 2016 です。最近のバージョンではうまく動かない不具合が出ているらしいのですが。
>  個人的には OnKey 使ったことないんですが、これじゃないとダメな理由はあるんでしょうか。

[返信 5] Re : OnKeyメソッド
投稿者 : higeru     投稿日時 : 2023/09/26(Tue) 13:29:07
 Excel 2016 であれば動作するはずです。
 まさかとは思いますが、ブック(シート)をアクティブにしてますよね?
 VBE がアクティブな状態だと効かないようですが。

[返信 6] Re : OnKeyメソッド
投稿者 : さんこうたろう     投稿日時 : 2023/10/05(Thu) 08:00:49
■[返信 5] higeruさん(2023-09-26 13:29:07)の記事
>  Excel 2016 であれば動作するはずです。
>  まさかとは思いますが、ブック(シート)をアクティブにしてますよね?
>  VBE がアクティブな状態だと効かないようですが。

お返事が遅くなりました。
勿論シートをアクティブにしての操作です。
何故なのか。。。

当掲示板について
  • Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
  • 記事内ではHTMLのタグは使用できません。
  • 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
  • Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
  • Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
お 名 前  :
内  容   :

ステータス  :

認証コード  : キャプチャ画像 




( 処理日時 : 2025-10-23 04:56:05 )
タイトルとURLをコピーしました