こんばんは!
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
マクロのご質問ですから,マクロの付け方ははご存じということですね。
まぁ念のためお話ししておくと標準モジュールに記載します。
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です。
>良い方法
思いついた人はこういう自動入力を良い方法と思って思いつくのでしょうけど,実際に使うヒトにはどう思われるかは多少疑問が残るように感じます。
たとえばデータメニュー(データタブ)の入力規則の「リスト」を付けておいて
外勤,内勤,出張,休暇
から選択できるよう各入力セルに仕込んでおくなどが,(多分皆さんにも馴染みのある)ごくふつーに使われる手法です。
お礼
ありがとうございます。期待していたとおりの機能です。 これでやるとなると、マクロの勉強ですね…(^^;)