- ベストアンサー
エクセルで日付と時間を自動入力する方法
- エクセルでデータ入力された日付と時間を自動的に入力する方法について教えてください。
- 特定のセルに入力した日付と時間が、他のセルに自動的に反映されるようにしたいです。
- VBAを使用して、エクセルの特定のセルに入力した日付と時間を他のセルに自動的に入力する方法を教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
元は入力が一列目対象でしたが、それを元のコードのまま一行目を対象に変更したいのでしたら Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim r As Range Application.EnableEvents = False For Each r In Target If r.Row = 1 Then r.Offset(1, 0).Value = Format(Now, “yyyy/mm/dd”“ ”“hh:mm:ss”) End If Next r Application.EnableEvents = True End Sub For Each~Nextが不要な気もしますが… もし不要でしたら Private Sub Worksheet_Change(ByVal Target As Excel.Range) Application.EnableEvents = False If Target.Row = 1 Then Target.Offset(1, 0).Value = Format(Now, "yyyy/mm/dd"" ""hh:mm:ss") End If Application.EnableEvents = True End Sub
その他の回答 (4)
- kkkkkm
- ベストアンサー率66% (1734/2604)
No.3の補足です。 現状だとデータを削除した時にも更新日付が変更されます。 もし、削除したときは変更したくないのでしたら 前者だと If r.Row = 1 Then を If r.Row = 1 And r.Value <> "" Then 後者だと If Target.Row = 1 Then を If Target.Row = 1 And Target.Value <> "" Then に変更してください。
お礼
ありがとうございます。 完璧です。
- hi-ball
- ベストアンサー率0% (0/1)
こんな感じどうでしょう? Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Integer For c = 1 To 3 If Target.row = 1 And Target.Column = c Then Cells(Target.row, Target.Column).Offset(1).Value = Format(Now, "yyyy/mm/dd"" ""hh:mm:ss") End If Next End Sub
- imogasi
- ベストアンサー率27% (4737/17069)
Sheet1限定としてよいだろう、そのシートモジュールに Private Sub Worksheet_Change(ByVal Target As Range) Target.Offset(0, 1) = Now End Sub でどうか?これで正しいとは思わないが。こんな質問のニーズは想像しにくいから。 Targetセル(A1,B1,C1など、入力するセル)の場所に何か限定でもあると思うが、質問が不明確ではないか? 書式に注文はあるか? など後続の回答のために、補足しておいたらどうかな?
補足
A1に入力したらA2に入力日付を自動表示(更新含む)させる B1に入力したらB2に入力日付を自動表示(更新含む)させる 以下、CDE・・・というVBAです。 書式に注文はありません。
- hi-ball
- ベストアンサー率0% (0/1)
A1を入力したらA2に更新日付なら下記みたいな感じです。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.row = 1 And Target.Column = 1 Then Cells(Target.row, Target.Column).Offset(1).Value = Format(Now, "yyyy/mm/dd"" ""hh:mm:ss") End If End Sub
補足
すいません。 これだとA1に入力したらA2に反映はされますが、 B1に入力したらB2に反映されません。 初心者ですいません。
お礼
ありがとうございます。 できました。