.SilverFox//Diary―“unlimited blog works”

ダイアリーを継ぐもの

Excelの時刻入力でコロンを打ちたくないッ!!

Excelでの日報

泊まり勤務の際に、Excelで日報を打つ。

時刻打ちを、4桁英数小文字のテンキーにしたい!!

その際、時刻入力のフィールドが3つ。手打ちで多いときは20レコードほど入力をする必要がある。
時刻を入力するのは必須事項。書式は"[m]:dd"にしているのだけれども、テンキーとコロン":"とがやや離れているので、入力がやや面倒である。
省力化の為、時刻のフィールドに関する書式を「?":"??」へ変更して対応して表示上はうまくいっていた。

DBで値がおかしくなる

……が、ここで問題が起こる。
最近はそれらを値を集計用のExcelシートへアウトプットしているようで、その際に値が変わってしまう。orz
ふむ……。
更に加工用のtempシートをコピーで作っておいて、値のみをメインのシートに貼り付けるか、以下のオートコレクトの機能で".."を":"へ自動変換するかなぁ。

時刻を入力するには12:30のように、数字の後にコロン(:)を入力しますが、数字はテンキーから、コロンは文字キーから入力するとその度に指を移動しなければならず、無駄な動きになります。そこで時刻をすべてテンキーから入力する方法をご紹介します。


エクセルのオートコレクト機能を使って、ピリオド(.)を入力するとコロン(:)に変換されるようにします。オフィスボタン→エクセルのオプション→文書校正→オートコレクトのオプション で修正文字列にピリオドを2つ、修正後の文字列にコロンを入力します。ピリオドを2つにするのは小数点などでピリオドを使いたいのにコロンに誤変換されるのを防ぐためです。

以下の、マクロでオートコレクトの制御をするのもよさげ。
この例だと、"."→":"への変換。
これならばテンキーのみで入力できるので、けっこう楽である。

勤務表(出勤簿)等を入力する時に、コロン(:)を入力するのがすごく面倒な時、オートコレクトに自動変換するように登録しておくと、時刻の入力が滅茶苦茶楽になる。
そのたんび、いちいちオートコレクトに登録するのも面倒なので、マクロで登録し、終わったら削除するようにした。
そのコード。

Sub AutoCorrect_Set() 'ピリオド"."を":"に変換するようにオートコレクトをセット
  Application.AutoCorrect.AddReplacement What:=".", Replacement:=":"
End Sub

Sub AutoCorrect_Reset() 'セットしたオートコレクトを削除
  Application.AutoCorrect.DeleteReplacement What:="."
End Sub

これだけ。
終わったら登録を削除するのを忘れないように。