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

エクセルで関数を用いて作業を行っています。
A1のセルに「1」と入力する事によって、関数が連動しています。
この「1」と入力したその時の日付、時刻をA2のセルに自動で表示
させるのにはどうすればよいでしょうか?
いろいろ調べましたが、どうも関数では無理なようで
VBAを使わないと無理なようですが、VBAについて全くの素人で
どのようにすればよいか分かりません。
使っているソフトはMicrosoft Office Excel 2003
です。
宜しくお願いします

A 回答 (3件)

先ほどの回答には、バグがありました。


コピペなどで、複数のセルが同時に更新されたときに、
エラーとなってしまいます。
コピペなどで同時に複数セルを更新されたときは、先頭のセルのみ"A1"かチェックするように変更しました。



---------以下をコピペ--------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells(1) = Range("a1") Then
Target.Cells(1, 2).Value = Now()
End If
End Sub
    • good
    • 0
この回答へのお礼

更に補足していただきありがとうございます。
とても助かりました。

お礼日時:2007/04/18 19:55

関数とおっしゃっているのは、セルに入力する数式のことですよね?


数式でも出来ますよ。
=now() とセルに入力します。
    • good
    • 0
この回答へのお礼

ありがとうございます。
ご指摘の通りなのですが、ファイルを閉じて、再度開け直しを
したりすると、時刻が更新されていまい、作業を行った時刻
が保存されずに困っておりました。
質問の仕方がまずかったですね。
ご返答ありがとうございます

お礼日時:2007/04/18 21:12

Worksheet_Changeイベントを利用し作成することができます。



VBAをまったくかいたことがないということでは説明がちょっと難しいですが・・

1.対象となるシートを開きます。
2.[ツール]-[マクロ]-[Visual Basic Editor]を開きます。
3.Editor画面が開くと、たぶん、右側に"まっさら"な画面(タイトルが"(General)"と出ている)が表示されているはずです。
そこへ、下記VBAをコピペしてください。

下記VBAは、セル"A1"が変更されたときに、その一つ右のセルに現在の日時(now())をセットしています。
適時変更してください。



-----------以下をコピペ----------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("a1") Then
Target.Cells(1, 2).Value = Now()
End If
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。
とても勉強になりました。
早速利用させていただきます。
たすかりましたーーーー!!

お礼日時:2007/04/18 19:49

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

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