プロが教える店舗&オフィスのセキュリティ対策術

Windowsのエクセルで、プログラマブルキーボードのようなことがしたいのですが、そのような方法はあるでしょうか?
OSはXP or Vista、Excelは 2000 or 2007です。

具体的には、「A」に「外勤」、「B」に「出張」、「C」に「待機」など、キーを押すだけで指定した文字が入るようにしたいのです。
エクセルでこのようなことを実現する方法はないでしょうか?

次善の策として、VLOOKUP()等を使って「ABC」などを拾って、別のセルに「外勤」などが表示されるようにする方法を考えています。しかし、入力した部分と表示される部分が違うので、より直感的であると助かるなと思っています。

良い方法を教えてください。

A 回答 (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です。


>良い方法

思いついた人はこういう自動入力を良い方法と思って思いつくのでしょうけど,実際に使うヒトにはどう思われるかは多少疑問が残るように感じます。
たとえばデータメニュー(データタブ)の入力規則の「リスト」を付けておいて
外勤,内勤,出張,休暇
から選択できるよう各入力セルに仕込んでおくなどが,(多分皆さんにも馴染みのある)ごくふつーに使われる手法です。
「Excelで、プログラマブルキーボードの」の回答画像2
    • good
    • 0
この回答へのお礼

ありがとうございます。
マクロはこれから勉強することになるのですが、案外簡単に機能を付けられそうで、安心しました。

プルダウンで選ぶ方法も考えたのですが、実は選択肢が20程度になり、それを200程度次々入力していくことにあります。
そのため、頭文字などのキーで覚えてもらってスピーディに入力できる方法を考えています。

また、現行のプログラムもそのように頭文字のキーで入力していく方法をとっておりますので…。

お気遣いありがとうございます。

お礼日時:2011/03/30 22:04

こんばんは!


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
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/03/30 21:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!