• ベストアンサー

A列に文字列または数字を入力したら隣接するD列に今日の日付が入るようにしたいです

A列に文字列または数字を入力したら 隣接するD列に今日の日付が入るようにしたいです。 (A1に「あ」と入力したら、 D1に「2007/10/25」が自動的に入力されるようにしたいです) これはIF関数を利用するのでしょうか?? どんどんデータが多くなっていちいち数式をオートフィルするのは面倒だし オートフィルタをかけて「空白のセル」を検索した時に、 IF関数で””のセルも空白セルとして認識されるのが嫌なので 数式以外でこの方法を行うことは出来ないでしょうか? よろしくお願い致します。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

NOW関数で日付を入力しても日付が変わったら表示も変わってしまいます。ですからどうしてもマクロが必要です。それでも良ければ以下のマクロを「シート名右クリック」→「コードの表示」で開く画面に貼り付けてください。 ワークシート画面に戻ってA列に値を入力するとD列に本日の日付が「値」として格納されます。 Private Sub Worksheet_Change(ByVal Target As Range) Dim r, rng As Range Set rng = Intersect(Target, Columns("A:A"))   If Not rng Is Nothing Then     For Each r In rng       If r.Value = "" Then         r.Offset(, 3).ClearContents       Else         r.Offset(, 3).Value = Date       End If     Next r   End If End Sub

noname#150256
質問者

お礼

大変参考になりました。ご回答ありがとうございます。

その他の回答 (2)

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

関数では別の日になると変わってしまいます。 Sheet1のChangeイベントに Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Target.Column = 1 Then Target.Offset(0, 3).Select SendKeys "^;" End If Application.EnableEvents = True End Sub を入れます。 意味は判らんだろうが、やりたければしょうがない。 使うだけ。 Sheet1のシートタブで右クリック。 「コードの表示」をクリック。 出てきた画面に上記をコピペ。 ーー CTRL+;で本日日付を入れるぐらいにしておけばよいのに。

noname#150256
質問者

お礼

大変参考になりました。ご回答ありがとうございます。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

関数では無理です。 過去のも同様の質問事例がありますので、自動日付入力等のキーで検索したら如何でしょうか。 参考urlの回答例を参照して下さい。

参考URL:
http://oshiete1.goo.ne.jp/qa2289506.html
noname#150256
質問者

お礼

大変参考になりました。ご回答ありがとうございます。

関連するQ&A

専門家に質問してみよう