質問: a1セルに入力したら、入力時間をa2セルに自動挿入 こんにちはtmgmです。 excelでちょっと困っています。 「a1セルに文字を入力したときの時間をa2セルに表示する」ということがやりたいのですが、 実際やってみるとなかなか出来ませんでした。 a2セルの書式をhh:mmなどにして、セルに=if(a1<>"",now(),"")と書きました。 これで一応a1セル入力でa2セルに時間は挿入されますが、excelの自動計算機能により、一度閉じてまた開いた場合や他のセルで自動計算を行うような入力をした際などに時間が更新されてしまいます。 時間が更新されてしまってはだめなんです。 かといってツール→オプションから自動計算を手動にすると、その他の計算(例えばsum関数など)の自動計算に影響がでて、使い勝手が違ってくるし。。。。 どうすればよろしいんでしょうか? お分かりになる方ご返答宜しく御願い致します。
回答: 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 試すのはテスト環境で。