アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

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

です。

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

よろしくお願いします。

A 回答 (4件)

とりあえず。



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

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

マクロを試してみます。

お礼日時:2006/07/23 10:47

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

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

マクロを試してみます。

お礼日時:2006/07/23 10:47

こんにちは。



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

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

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

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

この回答への補足

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

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

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

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

よろしくお願いします。

補足日時:2006/07/21 11:09
    • good
    • 0

B1の計算式


=if($A1="n",today(),0)
B1の書式設定で、数値表示方法を「#,###」にすれば、0は表示されない。
    • good
    • 0
この回答へのお礼

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


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

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

よろしくお願いします。

お礼日時:2006/07/21 11:22

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