• 締切済み
  • 暇なときにでも

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

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

共感・応援の気持ちを伝えよう!

みんなの回答

  • 回答No.3

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

共感・感謝の気持ちを伝えよう!

  • 回答No.2

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

共感・感謝の気持ちを伝えよう!

  • 回答No.1

こう言うのはあんまり使わないんで違ってたらごめんなさい。 テンキーの数字に割り当てられてるコードは vbKeyNumpad0 とかですけど、 これを使えばいいのでは?詳しくは、Visual Basicリファレンスの「キー コードの定数」を参照してください。

共感・感謝の気持ちを伝えよう!

質問者からの補足

vaguely さんありがとうございます。 残念ですが、すでにvbKeyNumpad0実験済です。キーをキーコードでなく、""の文字列で指定しなければエラーになるのでchr(vbKeyNumpad0)も実験済です。

関連するQ&A

  • キーボードの数字キー及びテンキーを無効にするマクロ

    お世話になります。上記質問タイトルに付きましてご質問させていただきます。 環境は、windowsXP、Excel2003です。 取扱い商品の物流を管理しているエクセルシートで、バーコードを読み込ませて商品コードを入力し、データ入力しています。 パートやアルバイトに入力操作をお願いしているのですが、キーボードの手入力のほうが入力しやすいらしく、手入力でデータ入力しているようです。ところが間違って入力していることがあり、キーボードの数字キーを無効にしたいと思いました。 少し調べたところ↓ -------------------------------------- Sub Keyboard09Off() For i = 44 To 90 Application.OnKey Chr(i), "" Next i End Sub -------------------------------------- このマクロで数字キーは無効になるのですが、まだテンキーは有効で さらに調べたところ↓ -------------------------------------- Sub Keyboardtenkey09Off() For i = 97 To 105 Application.OnKey Chr(i), "" Next i End Sub -------------------------------------- 自分では、これでテンキーが無効になると思ったのですが、うまくいかず。 どこが間違っているのでしょうか? 詳しい方いらっしゃいましたら、何卒ご教授お願いいたします。

  • テンキーを知らない事は珍しいですか

    テンキーは右にありますがパソコンによってない場合があります。 僕のノートパソコンにはテンキーがありません。初めてテンキーを知ったのは職に勤めた時です。 以前勤めていた職場でデータ入力が作業の一環としてありました。数字だけの入力で僕は通常の数字キーでやっていました。 通常の数字キーでやっているとテンキーでも出来ますと言われた時に僕はテンキーて何ですかと聞いたら右にある数字キーの事でした。 ここで初めてテンキーを知りました。ショートカットキーやコピーと貼り付け機能と同じ様に10年以上知らなかったです。 僕がテンキーを知らない事に驚いていた様ですが。 しかし僕のパソコンにテンキーがなく知るにも知る機会がなかったです。 この様は場合は珍しいとは思えないのですが珍しい事ですか。

  • テンキーではない方の数字キーで直接半角で入力したい

    テンキーではない方の数字キー(数字の横にひらがなも印字されているキー)でテンキーのようにそのキーを押すだけで半角で入力できるようにしたいのですが、そのような方法はありますでしょうか? 例 1234とテンキーではない方の数字キーで半角で入力するのに 「1234」→「スペースorF8」→「Enter」 ではなく 「1234」→「Enter」 で1234と半角で入力したいのです。(できればハイフンも同じように入力できればなと思っています) 数字や記号は圧倒的に半角で入力する場合が多いので。 テンキーの入力を全角にする方法は見つかったのですが、この情報はなかなか見つかりませんでした。。 入力ソフトはATOK2008を使用してます。 よろしくお願いします。

  • キーボードのテンキー

    DELLのデスクトップを使っています。 キーボード右側にテンキーがついていますが、テンキーの「Enter」キーを使って「Space」を入力することは可能でしょうか? 数字とスペースを織り交ぜて打ち込む作業を、テンキー上だけで済ませたいと思っているのですが、ご存知の方よろしくお願いします。

  • テンキーで半角数字を打つには?

    中古のXPノートパソコンを購入しました。右側に数字用のテンキーが付いているタイプです。普通のキーボードで文字を全角で打つ時に、半角数字が必要な時だけ右のテンキーで入力できるので、デスクトップパソコンと同じ感覚で打てるので便利でした。しかし、どこか余計なキーを押したらしく、文字を打つ場合に右のテンキーを使うと数字が全角で入力されてしまいます。キーボードの入力を数字に切り替えるとテンキーも半角に切り替わります。 これでは、キーボードの上にある数字キーと同じ動作ですから、テンキーが付いている意味がないのです。文字入力の時に、右のテンキーだけ半角数字が直接入力できるように設定する方法を教えてください。いつか、デスクトップパソコンでも同じことが起こったような記憶があります。なお、この現象はATOKでも、マイクロソフトのIMEでも同じです。

  • inspiron1526のテンキーが有効になりません。

    inspiron1526のテンキーが有効になりません。 私が使用しているノートPCはテンキーがないものです。 代わりにローマ字部分のキーを使って数字を入力したいのですが、 Num Lookを有効にしても数字入力になりません。 Num Lookキーを押すと本体の数字がついたカギ(?)マークが光るので 反応自体はしてるのですが、この状態でmキーを押してもそのままmが入力されます。 いったいどうすればテンキーとして入力がされるのでしょうか?

  • オープンオフィス エンターキーでマクロ実行するには

    タイトル通り、OpenOffice Calcでエンターキーだけでマクロを実行する方法を教えて下さい。 Excelでは、onkeyメソッドを使い以下のようにできましたが、OpenOffice CalcではVBASupport 1などを使用してもエラーが出てしまいました。 どのような方法でも良いので、何か方法をご存知でしたらよろしくお願いします。 Application.OnKey "{enter}", "macro1" Application.OnKey "~", "macro1"

  • テンキーの使い方・・・

    FMV BIBLO NE70Y を使っています。 ノート型で、テンキーがキーボードの右側(Enterの横)についています。 (電卓みたいな並び形でついてます。) その、テンキーがどんば場合でも使えず、何か設定等があるのでしょうか? エクセル中や、何か検索する時の数字の入力に使いたいのですが・・・ 全く、パソコンには詳しくないのでただただ普通キーの上にあるテンキーと同じように使えると思いこんで購入したのですが・・・) このテンキーはどうやって入力可能にするのでしょうか?? 詳しいパソコン用語とかもわからないので、わかりやすい操作説明をもらえるとありがたいです!!! すみませんが、教えて下さい(T_T)/ よろしくお願いします。。。

  • テンキー で 2 を押すと メールが立ち上がり

    OS WIN 7 ノートPC 東芝SATELLITE K47 ノートPC キーボードのテンキーで 数字 2 を押すと windows Live メール が立ち上がってしまい 数字 2 が入力できません。半角、全角数字とも 同様な現象です。  USB 外付け のキーボードのテンキー でも同様な現象です。 ただ キーボードの Fキー欄 下の ”2ふ キーは 正しく 2 を入力できます。 テンキーで他の数字 3~1 の数字は 正しく入力できます。何とか直す方法はありませんか? ご指導ください。 立ち上げ時の パスワードに XXXX2 を使っていますが、それはテンキーから正しく入力されています。

  • エクセルでテンキーがおかしくなります

    エクセルと使っていると、たまに、テンキーの+キーを打つと カーソルが横移動し、エンターキーを打つと元のカーソル位置の下に移動します。 例えば、 A1にカーソルがあった場合、+キーを打つとB1に、さらに+キーを打つとC2に カーソルが移動します。 そして、エンターキーを打つとA2にカーソルが移動します。 また、+キーを打ってカーソルが移動したときに何か入力しても エンターキーを打つと、何も入力しなかったかのようにカーソルが下に動きます。 +キー以外は正常に動いています。 この現象がでるときは、いつも別のソフトを裏で起動させています。 そのソフトでは+キーをTabキーがわりに使えます。 なので、そのソフトの影響が出ているのではないかと思うのですが、 元に戻すには、エクセルとそのソフトを一度終了しないといけなくなります。 また、毎回その現象が出るわけではありません。 どなたか、この現象を起こさない方法をご存知の方、 または、いちいちソフトを終了させなくても元に戻す方法をご存知の方 おりましたら、その方法を教えていただきたいです。 よろしくお願いします。