• ベストアンサー
  • すぐに回答を!

自動日付入力方法

  • 質問No.2289506
  • 閲覧数86
  • ありがとう数3
  • 回答数4

お礼率 89% (175/196)

エクセルで
A列1行に「n」と入れれば、
B列1行に今日の日付「Ctrl+;」を表示させるようにしたいのですが
どうすればいいでしょうか?

A3に入れれば、B3
A6に入れれば、B6

です。

「n」は人の名前が10種類くらい入ります。

よろしくお願いします。

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

  • 回答No.4
  • ベストアンサー

ベストアンサー率 10% (32/318)

とりあえず。

Private Sub Worksheet_Change(ByVal Target As Range)
  Set Target = Intersect(Target, Columns("A:A"))
  If Target Is Nothing Then Exit Sub
  Dim r As Range
  For Each r In Target
    If r.Value = "" Then
      r.Offset(, 1).ClearContents
    Else
      r.Offset(, 1).Value = Date
    End If
  Next
End Sub
お礼コメント
okaneokane

お礼率 89% (175/196)

ご回答ありがとうございます。

マクロを試してみます。
投稿日時:2006/07/23 10:47

その他の回答 (全3件)

  • 回答No.3

ベストアンサー率 39% (7416/18946)

A列に名前(文字列)が入るとB列に今日の日付ですか?
マクロ(Worksheet_Change)ならできますが...
下記のコードを、シート見出しを右クリックして「コードの表示」で出てくる場所に貼り付けて確認してください。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then '入力セルがA列の場合処理を実行
If IsNumeric(Target) Then Exit Sub '入力値が数値の場合、処理を中止
Target.Offset(0, 1) = Date '右隣(B列)に今日の日付をセット
End If
End Sub
お礼コメント
okaneokane

お礼率 89% (175/196)

ご回答ありがとうございます。

マクロを試してみます。
投稿日時:2006/07/23 10:47
  • 回答No.2
こんにちは。

Excelの一般機能で自動で日付を入力するには =TODAY() とするしかないです。

ところがこれでは、日付が変われば当然変わってしまいます。

「Ctrl+;」は日付を文字列で手入力するショートカットキーで変化あはしません。

ですので、変化しても良いのであれば =TODAY() で良いでしょうが、そうでなければマクロを使うしかないと思います。
補足コメント
okaneokane

お礼率 89% (175/196)

ご回答ありがとうございます。

すいません。間違えました。
A列に入るのは、文字列の数字で、
隣のB列にA列に数字を入れた時の日付けを自動入力したいのです。

なので、日付がかわっていいんです。

ご回答いただいた「 =TODAY()」は
どういう風に使えばいいんでしょうか?
カッコに何をいれればいいんでしょうか?

よろしくお願いします。
投稿日時:2006/07/21 11:09
  • 回答No.1

ベストアンサー率 32% (11/34)

B1の計算式
=if($A1="n",today(),0)
B1の書式設定で、数値表示方法を「#,###」にすれば、0は表示されない。
お礼コメント
okaneokane

お礼率 89% (175/196)

今試してみたんですが
使い方がよくわかりませんでした。


それで、質問を間違えたのですが、

A列に入るのは、文字列の数字で、
隣のB列にA列に数字を入れた時の日付けを自動入力したいのです。

よろしくお願いします。
投稿日時:2006/07/21 11:22
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ