
エクセルでデータ入力する作業があるんだよ。
日付と時間を入力しなきゃいけないんだけど
毎回入力するのが面倒で・・・。

方法は2つね。
1つ目はショートカットキーを使う。
2つ目はVBAを使って
特定の列にデータが入力されたら別のセルに日付と時間を自動入力させる。

VBAか~。
やったことないからわからないよ。

入力方法から、保存の仕方まで全部紹介するね。
データ入力された日付と時間を自動入力する方法
VBAエディターを開く
用意したサンプルシートはこちら。
C列にデータ入力されたらA列に日付、B列に時間を自動表示させる方法を紹介します。
用意したサンプルシートはこちら。
C列にデータ入力されたらA列に日付、B列に時間を自動表示させる方法を紹介します。

まず、シートのところ右クリック。
そして「コードの表示」をクリック。

すると、VBAエディターが開きます。
ここにコード入力します。

VBAのコードを入力する
入力が面倒だと思うのでテキスト貼っておきますね。
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim r As Range
For Each r In Target
If r.Column = 3 Then
r.Offset(0, -1).Value = Format(Now, “hh:mm:ss”)
r.Offset(0, -2).Value = Format(Now, “yyyy/mm/dd”)
End If
Next r
End Sub

さきほどの
C列にデータ入力されたらA列に日付、B列に時間を自動表示させる方法
の部分を説明すると
r.Column = 3
というのが「C列に」の事です。
仮にA列にしたいなら 3を1に変えてください。
r.Offset(0,-1) が 入力したセルの上下に0個、左右にー1個移動したセルを指定。
そこに表示形式が hh:mm:ss (時間:分:秒)時間で表示させます。
ここも好きなように調整して下さい。
秒がいらないのであれば hh:mm で大丈夫です。
その下も同様でこちらは日付を表示させてます。
VBAはここまで、このまま右上の閉じるをクリックして閉じてください。

実際に使ってみる
C列になんでもいいので入力してください。
A列に日付、B列に時間が自動入力されます。

先ほどの説明を参考にして、
業務にあったシートレイアウトやコードに作り替えてくださいね。
このブックを保存する
VBAコードが入力されているので通常の拡張子で保存しようとすると確認メッセージが表示されます。

正解の保存方法はこちら。
ファイルの種類を
Excelマクロ有効ブック(*.xlsm)
にして下さい。

おまけ:日付と時間を簡単入力するショートカットキー
ちらりと書いた日付と時間を入力するショートカットキーも紹介しておきます。
けっこう便利ですよ。
日付 | Ctrl + ; (セミコロン) |
時間 | Ctrl + : (コロン) |
当ブログのトップページはこちらです。
ブックマークして頂けると嬉しいです。
よろしくお願いいたします。
コメント
列、行反対にするときはどうすればいいのでしょうか?
こちらでいかがでしょうか?
3行目にデータを入力すると1行目に日付、2行目に時間が入力されます。
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim r As Range
For Each r In Target
If r.Row = 3 Then
r.Offset(-1, 0).Value = Format(Now, “hh:mm:ss”)
r.Offset(-2, 0).Value = Format(Now, “yyyy/mm/dd”)
End If
Next r
End Sub