• 締切
  • 暇なときにでも

ExcelのVBAマクロOnKeyでテンキーをトラップしたい

  • 質問No.3565
  • 閲覧数3275
  • ありがとう数14
  • 回答数3

お礼率 0% (0/9)

ExcelVBAのOnkeyメソッドで数字キーの入力をトラップしたいのですが、
Application.OnKey "1", "KeyEvent1" 
のように指定した場合数字キーはトラップできるのですがテンキーの数字キーがトラップできません。
どなたかテンキーのトラップ方法をご存知の方教えてください。

回答 (全3件)

  • 回答No.3

ベストアンサー率 0% (0/0)

テンキーはkeycodeで指定します。

Application.OnKey "{96}", "KeyEvent1" 
これでテンキーの0が押されたときです。
以下、
テンキーの1は97



テンキーの9は105です。
  • 回答No.2

ベストアンサー率 66% (2/3)

お役に立てず申し訳ないです。

やってみましたが、確かにできませんねぇ。(^_^;)
OnKeyにこだわらずに他の処理方法にするのはダメなの?
まぁ、処理速度とかには影響するでしょうけど。。。
  • 回答No.1

ベストアンサー率 66% (2/3)

こう言うのはあんまり使わないんで違ってたらごめんなさい。

テンキーの数字に割り当てられてるコードは vbKeyNumpad0とかですけど、
これを使えばいいのでは?詳しくは、Visual Basicリファレンスの「キー コードの定数」を参照してください。
補足コメント
mimura

お礼率 0% (0/9)

vaguely さんありがとうございます。
残念ですが、すでにvbKeyNumpad0実験済です。キーをキーコードでなく、""の文字列で指定しなければエラーになるのでchr(vbKeyNumpad0)も実験済です。
投稿日時:0000/00/00 00:00
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ