プロが教える店舗&オフィスのセキュリティ対策術

A列に文字列または数字を入力したら
隣接するD列に今日の日付が入るようにしたいです。
(A1に「あ」と入力したら、
D1に「2007/10/25」が自動的に入力されるようにしたいです)
これはIF関数を利用するのでしょうか??

どんどんデータが多くなっていちいち数式をオートフィルするのは面倒だし
オートフィルタをかけて「空白のセル」を検索した時に、
IF関数で””のセルも空白セルとして認識されるのが嫌なので
数式以外でこの方法を行うことは出来ないでしょうか?


よろしくお願い致します。

A 回答 (3件)

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
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/10/30 10:05

関数では別の日になると変わってしまいます。


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+;で本日日付を入れるぐらいにしておけばよいのに。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/10/30 10:05

関数では無理です。


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

参考URL:http://oshiete1.goo.ne.jp/qa2289506.html
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/10/25 14:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています