• ベストアンサー

エクセルで数字を入力すると日時を自動で入力することはできますでしょうか?

A列に数字を入れると、その数字を入力した日時をB列に自動的に表示されるようにしたいです。 できますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

出来ますよ。関数ではなくVBAになりますが。 以下の手順を試してみてください。 1.そのような設定をしたいワークシートのシートタブ(Sheet1とか書いてある部分)を右クリックして、「コードの表示」で、出てきた白い画面に以下のコードを貼り付けてください。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub If Not IsNumeric(Target.Value) Then Exit Sub Target.Offset(0, 1).Value = Now() End Sub 2.AltキーとF11キーを同時に押してワークシートに戻ります。 これでA列に数字を打ち込めば自動的にB列に日時が表示されます。 数字以外の場合は何も出しません。

その他の回答 (2)

noname#83425
noname#83425
回答No.3

120130のように5~6桁の数値を入力して それを時刻12:01:30に直す方法を考えてみました。 B1セルに以下を入力します。書式設定は「時刻」にしてください。 =((TRUNC(A1/10000))+(TRUNC((A1-TRUNC(A1/10000)*10000)/100))/60+(A1-((TRUNC(A1/10000)*10000))-((TRUNC((A1-TRUNC(A1/10000)*10000)/100))*100))/60/60)/24 ただし入力する値が間違っている場合も含めるとさらに長くなってしまうので、 もっと簡単な方法があるのかもしれません。 以上、初級者からのアドバイスでした;

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

#1のご回答とおりだが、Changeなどイベントは難しいと思っている。 今有るA列のデータをDELで抹消したらB列は抹消した日時が入る。 A列で参照している場合は、参照セルの値がが変わってももとのまま。 コピー貼り付け、D&Dは、貼り付けた時刻が入る(OK) など使う際には、慎重なテストが必要と思う。 コードの最初と最後にApplication.EnableEvents=False、Application.EnableEvents=Trueを入れておいたほうが良い場合が多い。 ーーー 余りA列入力の頻度が高くなければ、CTRL+;やCTRL+:を手入力するを使う手も有る。(安定性が有る) 値を整数やいくら以上とかの制約などは、データー入力規則で設定できる。 ーーーー またこんな方法もある。ユーザー関数を定義する。 Function hizuke(a) If a = "" Then hizuke = "" Else hizuke = Date & " " & Time End If End Function B列セルに前もって関数式 =hizuke(A1) を入れて式を下方向に複写しておく A列にデータを入れると 2009/04/18 11:33:09 のようにB列に入る。値が数字かどうかは略。(Not IsNumeric()でチェック可能)

関連するQ&A

専門家に質問してみよう