エクセル2016を使用してデータを作っていますが

例えば行100の中でどこかに更新(変更)があればその行のE列にその操作がされた日時をタイムスタンプで残したいのですが
こんなことは可能でしょうか。関数?マクロ?を利用すれば可能でしょうか。
よろしくお願いいたします。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2018/11/15 19:13:21
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:ken3memo No.1

回答回数317ベストアンサー獲得回数115

ポイント500pt

シートのコード
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の行数を使ってみました。
処理の参考となれば、幸いです。

https://youtu.be/yK2H8FbHsmo?t=182
↑蛇足のコードの記載位置とテスト実行結果です
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

テストしてみました
https://www.youtube.com/watch?v=s2ptuKdbQPo
お時間のある時に見て、笑ってください。
うまく修正できることを願いつつ、失礼します。
※恥の上塗り、再度の不具合が無いことを願いつつ・・・

他4件のコメントを見る
id:ken3memo

テストしてみました
https://www.youtube.com/watch?v=s2ptuKdbQPo
お時間のある時に見て、笑ってください。
うまく修正できることを願いつつ、失礼します。
※恥の上塗り、再度の不具合が無いことを願いつつ・・・

2018/11/15 02:18:00
id:orekojinn

動画までありがとうございます。
楽しく見させていただきました^^

うまくいきました。
循環参照みたいになってたのですね。ちゃんと動くようになりましたし、楽しく勉強ができました。
このたびはありがとうございました。

2018/11/15 19:15:38

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません