• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelで、プログラマブルキーボードのマクロ)

Excelでプログラマブルキーボードのマクロを使用する方法

このQ&Aのポイント
  • Windowsのエクセルで、プログラマブルキーボードのようなことがしたいのですが、その方法について教えてください。
  • 指定したキーを押すだけで指定した文字が入力されるような方法を知りたいです。
  • 特定の「ABC」などを入力すると、別のセルに対応する文字が表示される方法も教えてください。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! VBAでの方法になってしまいますが・・・ 一例です。 かならず大文字で入力するとします。 画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので、 ↓のコードをコピー&ペーストしてA~Cのアルファベットを入力してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から Select Case Target Case "A" Target = "外勤" Case "B" Target = "出張" Case "C" Target = "待機" End Select End Sub 'この行まで 尚、すべてのセルでChangeイベントが発生してしまいますので、 特定のセル限定であれば少しコードを修正する必要があります。 参考になれば良いのですが・・・m(__)m

bullfrog
質問者

お礼

ありがとうございます。期待していたとおりの機能です。 これでやるとなると、マクロの勉強ですね…(^^;)

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

マクロのご質問ですから,マクロの付け方ははご存じということですね。 まぁ念のためお話ししておくと標準モジュールに記載します。 Sub auto_open() Application.OnKey "a", "macro1" Application.OnKey "b", "macro2" Application.OnKey "c", "macro3" End Sub Sub auto_close() Application.OnKey "a" Application.OnKey "b" Application.OnKey "c" End Sub Sub macro1() Selection = "外勤" End Sub Sub macro2() Selection = "出張" End Sub Sub macro3() Selection = "待機" End Sub 以上のマクロを登録しておき,ブックを保存して閉じて開き直すと,各キーを押すだけで文字が入ります。 ただし,日本語入力(IME)が動いているとそちらがエクセルより先にキーを先取りするので,直接入力にしておく必要があります。(言い換えると,日本語入力途中に勝手にマクロが「外勤」とかに書き換えるといったことは起こりません) 必要なら事前に各シート各セルについて,入力規則を使って日本語入力を「オフ」しておく設定を付けておいてマクロの使用に備えるのもOKです。 >良い方法 思いついた人はこういう自動入力を良い方法と思って思いつくのでしょうけど,実際に使うヒトにはどう思われるかは多少疑問が残るように感じます。 たとえばデータメニュー(データタブ)の入力規則の「リスト」を付けておいて 外勤,内勤,出張,休暇 から選択できるよう各入力セルに仕込んでおくなどが,(多分皆さんにも馴染みのある)ごくふつーに使われる手法です。

bullfrog
質問者

お礼

ありがとうございます。 マクロはこれから勉強することになるのですが、案外簡単に機能を付けられそうで、安心しました。 プルダウンで選ぶ方法も考えたのですが、実は選択肢が20程度になり、それを200程度次々入力していくことにあります。 そのため、頭文字などのキーで覚えてもらってスピーディに入力できる方法を考えています。 また、現行のプログラムもそのように頭文字のキーで入力していく方法をとっておりますので…。 お気遣いありがとうございます。

関連するQ&A