Timestamp wijziging cel (indirecte invoer wijziging)

Status
Niet open voor verdere reacties.

JoepG

Gebruiker
Lid geworden
23 okt 2020
Berichten
39
Ik heb de volgende code gevonden om een datum stamp te generen op de wijziging van een cel wijziging,
Echter wordt de cel gewijzigd door een keuze lijst van een ander werkblad, en dan volgt er geen timestamp.
Is het mogelijk om dit wel voor elkaar te krijgen?
Uit eindelijk wil ik het op 2 cellen in het blad toepassen, en dan een 3e cel de waarde van de laatste wijziging overneemt.


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("G4"), Target)
xOffsetColumn = 1
If Not WorkRng Is Nothing Then
    Application.EnableEvents = False
    For Each Rng In WorkRng
        If Not VBA.IsEmpty(Rng.Value) Then
            Rng.Offset(0, xOffsetColumn).Value = Now
            Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy, hh:mm:ss"
        Else
            Rng.Offset(0, xOffsetColumn).ClearContents
        End If
    Next
    Application.EnableEvents = True
End If
End Sub
 
Als op het werkblad waar deze Worksheet_Change event achter hangt in cel G4 iets gewijzigd wordt dan wordt op werkblad Blad1 in cel H4 de timestamp geplaatst:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim WorkRng As Range
    Dim Rng As Range
    Dim xOffsetColumn As Integer
    Set WorkRng = Intersect(Application.ActiveSheet.Range("G4"), Target)
    xOffsetColumn = 1
    If Not WorkRng Is Nothing Then
        Application.EnableEvents = False
        For Each Rng In WorkRng
            With Blad1.Range(Rng.Address).Offset(0, xOffsetColumn)
                If Not IsEmpty(Rng.Value) Then
                    .Value = Now
                    .NumberFormat = "dd-mm-yyyy, hh:mm:ss"
                Else
                    .ClearContents
                End If
            End With
        Next
        Application.EnableEvents = True
    End If
End Sub
 
Laatst bewerkt:
Ik krijg het niet werkende met de keuze lijst,
Wat ik wel kan proberen is om met een macro achter de keuze lijst, een functie toevoegen die de tijd dan noteert.

Range("H3").Value = Now()

en dat werkt, dank voor de goede richting op te sturen :)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan