dポイントプレゼントキャンペーン実施中!

エクセル初心者です。シート内で複数の入力時間を、更新させずに表示させたいのですが、どのようにすればよいのでしょうか?
A1にある数値を入力したらB1にその入力時間を表示させ、一定時間後にA2に別の数値を入力すると、B2にその入力時間を表示させたいです。
B1、B2の入力時間とは、あくまでもそれぞれの入力した時の時間を表示させたく、また、表示後は時間の更新はさせたくないです。
”=NOW()”だと、入力のたびに過去の表示時間まで同時に更新されてしまい、また、複数の表示時間が全て同じ時間となってしまいます。
簡単な関数などでできれば助かりますが、マクロやVBAでないとできないというのであればやってみたいと思いますので、できる方法で教えてください。
よろしくお願いします。

A 回答 (2件)

普通の操作は、時刻の入力は、CTRLを押しつつ:キーを押します。


ーー
VBAの勉強してない人には進められませんが、
シートタブを右クリック
コードの表示
Generalと見えているところをクリク
Worksheetを選ぶ
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub
と出てくるが無視
SelectionChangeと出ている部分をクリック
Changeをクリック
Private Sub Worksheet_Change(ByVal Target As Range)

End Sub
となる。
この間にコードを入力する。
Targetが、セルの値を変化させたセルなので
その隣のセル Offset(0,1) に時刻を入れるのは
Target.offset(0,1)=Time
=dateにして書式で時刻だけ見せるほうが、入力日も残って、良いかもしれない。
ただしVBAででも隣に時刻を入れるとセルの値の変化イベントが起こり、ぐるぐる回りになるから、その機能を1時的に止めて、隣のセルに時刻をセットし、イベント機能を復活させる。
また、例えばA1:A30のセル以外は、自動時刻セットが困るので
例えば、A列以外のセルは除外のコードを入れる。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
If Target.Row >= 31 Then Exit Sub
Application.EnableEvents = False
Target.Offset(0, 1) = Time
Application.EnableEvents = True
End Sub
細かく言えば、A列を入力後、DELで消したときの対策など必要だが
省略。
ーー
こんなにいっぱいVBAの色々なことが詰まっている内容を今すぐやろうというのはむりだよ。
まあ丸呑みしてこのキッカケでVBAを勉強してください。
    • good
    • 0
この回答へのお礼

丁寧なご回答ありがとうございました。
コードを試してみて、希望通りの表示ができました。
VBAにはじめて触れましたが、VBAの面白さの一端を感じました。これをきっかけに、上記のコードの説明を読み返しながら勉強してみたいと思います。

お礼日時:2007/11/10 11:27

関数では、無理です。


ひとつ手間ですが、B1セルで、Ctrl+*で時間を入れます。

VBAでは、「ツール」「マクロ」「VB Editor]でエディター開く
「表示」「プロジェクトエクスプローラー」表示
時刻を入れるシートをクリック
そのシートのコードに
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Target.Offset(0, 1).Value = Time
End If
End Sub
のコード、コピィしてみてください。
Private Sub Worksheet_Change(ByVal Target As Range)は
その、シートに変更があった場合に実行される。
Target.Column = 1は、変更されたのが、1列目(A列だったら)
Offset(0, 1)は、1列左に時間を入れるという意味です。
VBAは別途、勉強してみてください。
    • good
    • 0
この回答へのお礼

早速ご回答ありがとうございました。やはり関数では無理なんですね。
Ctrl+*で時間を入れるというのは、とりあえず手っ取り早く入力するには使える機能ですね。知りませんでした。
VBAでのコードも試してみて、希望通りの表示ができました。VBA自体の使い方がまだよく分かっていないので、コードを実行させても魔法を見ている感じですが、これを機会に勉強してみます。

お礼日時:2007/11/10 11:17

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

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


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