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

こんにちはtmgmです。

Excelでちょっと困っています。
「A1セルに文字を入力したときの時間をA2セルに表示する」ということがやりたいのですが、
実際やってみるとなかなか出来ませんでした。

A2セルの書式をhh:mmなどにして、セルに=if(A1<>"",NOW(),"")と書きました。
これで一応A1セル入力でA2セルに時間は挿入されますが、Excelの自動計算機能により、一度閉じてまた開いた場合や他のセルで自動計算を行うような入力をした際などに時間が更新されてしまいます。
時間が更新されてしまってはだめなんです。

かといってツール→オプションから自動計算を手動にすると、その他の計算(例えばSUM関数など)の自動計算に影響がでて、使い勝手が違ってくるし。。。。


どうすればよろしいんでしょうか?
お分かりになる方ご返答宜しく御願い致します。

A 回答 (3件)

VBAで。



シート名を右クリックしてコードの表示を選び、出てきたVBE画面(何か書かれていたら消して)に書きます。

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim r As Range
 For Each r In Target
  If r.Column = 1 Then
    r.Offset(0, 1).Value = Format(Now, "hh:mm:ss")
  End If
 Next r
End Sub

試すのはテスト環境で。
    • good
    • 41

ファイルを閉じる前に、


入力時刻を入れたセルを
コピー→形式を選択して貼り付け→値
では、数式が消えてまずいのですか?
    • good
    • 3

安直な方法ですが、A2のセルにCTRL+;(その時の日付が入力される)ではだめですか。


A1に文字を入れて、A2に日付をいれるとなるとVBAを組まないと難しいかもしれません。
    • good
    • 9
この回答へのお礼

こんにちはtmgmです。

それも考えたんですが、
どうしても自動挿入という部分にこだわりたくって。。。
ご回答ありがとうございました。

お礼日時:2004/09/09 12:52

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

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


このQ&Aを見た人がよく見るQ&A