Keep Log Of Cell Changes

Important Notice


Please note that on 14th December 2023 users will experience an expected outage whilst we make upgrades to our network. We anticipate this process may take a couple of hours and so we apologise in advance for any inconvenience.

  • Operation: The operator can obviously change any cell on the sheet, what I want to do is capture the value of the cell before the data is modified and the new just entered value.

    Question:
    Is there any simple way of doing this?

    Accessing the Excel Undo stack perhaps?

    Or does it take writing code coordinating the Worksheet_SelectionChange and Worksheet_Change events to capture the before data when the SelectionChanges in anticipation that it's going to be modified and identified in the Worksheet_Change event.

  • Re: Create A Modified Data Log With Before And After Values


    Thanks Mac.


    The idea of the modification log is to see who changed what and when, over time. The shared workbook is a good idea but doesn't apply in this case.

  • Re: Create A Modified Data Log With Before And After Values


    Thank you.


    Seeing the example it's easier than I was thinking it was going to be.


    I was going for a much more complex solution. Thanks.

  • Re: Keep Log Of Cell Changes


    It seems obvious now, but since I don't work with Tracking Changes very often, I hadn't thought of that as a way of accomplishing what I need. Thanks!

  • Re: Keep Log Of Cell Changes


    This is an extension of my previous posting.

    I have incorporated code to capture the original value(s) when Workbook_SheetSelectionChange (W_SSC) is invoked.


    And log both the original value(s) and the current values(s) when
    Workbook_SheetChange (W_SC) is invoked.


    Now the problem:
    The operator clicks in a cell, W_SSC is invoked and the original value is captured.
    The operator changes the value, then without doing anything to invoke the W_SC, drags the value down several rows, which changes the values, and stops.
    W_SSC is invoked and captures the changed values.
    W_SC is invoked and compares what is supposed to be the original values to the current values and of course they match.


    Is there a way around this?
    Besides telling the operator don't do that?

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!