別のセルが変更されたときに現在のタイムスタンプでExcelのセルを自動的に更新する


11

Excelスプレッドシートで、別のセルが変更されると(更新タイムスタンプなど)、現在の日付と時刻でセルを自動的に更新します。

各行にタイムスタンプがあります。行内の先行するセルの1つが更新されたらすぐに更新します。

それを行う方法について何かアドバイスはありますか?



@Raystafarian:円形の悪戯が起こっています。これは古い質問です。両方がクローズされた場合、新しい回答はすべてロックアウトされます。
fixer1234

回答:


9

Now()という値でセルを作成します。yyyy / mm / dd HH:mm:ssのように、24時間形式の完全なタイムスタンプのようにフォーマットします。

自動再計算(デフォルト)が設定されている限り、別のセルが変更されるたびに、タイムスタンプが更新されます。

さらに考察すると、ハードコードされたタイムスタンプが必要な場合は、開いているワークブックや印刷などのアクションを含まないアクションによってのみ更新されます。worksheet_changeにアタッチされたマクロを作成できます。以前のように特定のフォーマットで、ターゲットセルをテキストとして設定します。Worksheet_ChangeイベントでSheet1.Cells []。Value = Text(Now()、 "yyyy / mm / dd HH:mm:ss")のようなものを使用します。

これを起動時に読み込まれるテンプレートに入れれば、二度と考える必要はありません。


+1最初の回答よりも2番目の回答の方が優れています。
DaveParillo、

必要性をよりよく反映するように質問を更新しました:各行にタイムスタンプがあります。行内の先行するセルの1つが更新されたらすぐに更新します。だから、あなたが言ったように、ここにはマクロが必要だと思います。そのように検索します。ありがとう。

Worksheet_Change()イベントにコードを配置すると、実行するたびにExcelが取り消しスタックを消去することに注意してください。したがって、シートの他の場所で値を更新している場合、このソリューションでは、副作用としてこのワークシートの取り消しを基本的に無効にします。
ロスマコネギー

8

http://chandoo.org/wp/2009/01/08/timestamps-excel-formula-help/には、再帰的な式を使用してタイムスタンプを実装する方法の詳細があります。彼らは御馳走を働かせます。

この記事では、最初に循環式をオン(デフォルトではオフ)にする方法と、特定のセルに値が挿入されたときにタイムスタンプを自動的に挿入する循環式を作成する方法について説明します。

タイムスタンプを含むセルがB3で、監視するセルがC3の場合、式は次のとおりです。

=IF(C3<>"",IF(B3="",NOW(),B3),"")

つまり、C3が空でない場合、B3をNOW()に設定します(B3が空の場合)。それ以外の場合は、B3の現在の値です。

これは更新と保存で安定しているように見えます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.