- ベストアンサー
Excelでの日時の簡単な入力方法
Excelで台帳を付けているのですが、作業を終えた時の日時を簡単に入力したいです。 14/23:00の形で入力したいです。 NOW関数にすると、今まで入力した日時まで変わってしまうので使えません。 その都度Ctrl+; Ctrl:を入力するしかないのでしょうか? 出来たらボタンを一つ押すだけにしたいのですが・・・。 マクロにするとマクロに登録した日時になってしまうし・・・。 何かいい方法はありませんか? よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
No3です。 回答した後で気がついたのですが、 すでに日付、時刻が入っているC列をダブルクリックして 間違って日時が変更されますので If ActiveCell.Value="" Then If ActiveCell.Column = 3 Then ActiveCell.Value = Now End If End If としておいたほうが良いかも 別にボタンに上記のVBA登録しても大丈夫でしょう。
その他の回答 (3)
- hallo-2007
- ベストアンサー率41% (888/2115)
>出来たらボタンを一つ押すだけにしたいのですが・・・。 >マクロにするとマクロに登録した日時になってしまうし・・・。 ひょっとしてマクロの記録のことでしょうか? 例えば C列に日付と時刻を入れるとして C列を選択 書式 表示形式 ユーザー設定で d/hh:mm に設定 下のシートの名前のタブを右クリック コードの表示をクリック VBエディターが起動するので Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If ActiveCell.Column = 3 Then ActiveCell.Value = Now End If End Sub をコピィ C列のセルをダブルクリックするとその時の 日付と時刻が入ります。
- imogasi
- ベストアンサー率27% (4737/17070)
>14/23:00の形で入力したいです もっと丁寧に説明のこと。 現実7月14日で、13や、12日も入れることがあるのか? 確かに>作業を終えた時の日時 と書いてあるがそれだけでは、過去に記入したデータを、今入力することもありえるでしょう。 >マクロに登録した日時になってしまうし・ 質問者がマクロに詳しくないだけ。 シートのChangeイベントに Private Sub Worksheet_Change(ByVal Target As Range) tuki = "2008/07/" If Target.Column = 7 Then s = Split(Target, "/") Cells(Target.Row, "H") = tuki & s(0) Cells(Target.Row, "I") = s(1) End If End Sub G列に質問のような形式で入れて、H列に日、I列に時刻を出している。 月は指定しないようなので、当月にしているが、月を端折ったための運用上は困る要因を抱えていると思う。月末・月初などの、前月・次月の問題。
- pulsa
- ベストアンサー率57% (34/59)
マクロに登録する術を持っているのであれば、NOW()を入れたり作った時のNow()じゃなく、実行時のNOW()の戻り値を書き込むようにすれば良いんじゃ…? Range("A1")=Format(Now(),"mm/dd hh:mm") なんか違うのかな(?_?)
お礼
出来ました。 ありがとうございます。 助かりました。