質問: エクセル2016を使用してデータを作っていますが 例えば行100の中でどこかに更新(変更)があればその行のE列にその操作がされた日時をタイムスタンプで残したいのですが こんなことは可能でしょうか。関数?マクロ?を利用すれば可能でしょうか。 よろしくお願いいたします。
回答: シートのコード !f:id:ken3memo:20181111213131j:plain !f:id:ken3memo:20181111213156j:plain シートのコードに、 ``` Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count = 1 And Target.Row < 100 Then Cells(Target.Row, "E") = Now End If End Sub ``` を書くと、 WorksheetのChangeのイベントで、 タイミングが取れそうなので、 あとは、 Private Sub Worksheet_Change(ByVal Target As Range) で受け取った Targetの個数を.countで調べ、 .Rowの行数を使ってみました。 処理の参考となれば、幸いです。 ↑蛇足のコードの記載位置とテスト実行結果です !D 2018-11-15追記・修正 ごめんなさい、私の配慮が足りなくて、Excelが苦しくなってました。 なんて、変な挨拶は置いといて、 ``` Private Sub Worksheet_Change(ByVal Target As Range) '.Column <> 5(E列以外)で.Row 行が<100 If Target.Column <> 5 And Target.Count = 1 And Target.Row < 100 Then Cells(Target.Row, "E") = Now End If End Sub ``` テストしてみました お時間のある時に見て、笑ってください。 うまく修正できることを願いつつ、失礼します。 ※恥の上塗り、再度の不具合が無いことを願いつつ・・・