• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Wijzingen bijhouden in een excelblad

Status
Niet open voor verdere reacties.

tkint

Gebruiker
Lid geworden
5 dec 2011
Berichten
776
Beste,

Uit de antwoorden op een eerder gestelde vraag heb ik begrepen dat die functie in excel 2016 niet voorzien is. Ik heb met de volgende code iets in elkaar geknutseld maar de subroutine wordt reeds uitgevoerd bij het aanklikken van een cel. Hoe moet de code aangepast worden zodat de code pas uitgevoerd wordt na een wijziging van de waarde in een cel?
Code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveSheet.Name = "complete lijst" Then Cells(Target.Row, 15) = Cells(Target.Row, 15) & " ! wijziging in kolom " & Target.Column
End Sub
 
Doe dat dan in:
Code:
Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
 
Beste,

Door het feit dat cel (Target.row,15) ook wijzigt krijgt in die rij een ellenlange tekst in die cel. Hoe kan je dat vermijden? Je kan iets uitschakelen, maar wat?
 
Probeer dit eens.

in het tabblad complete lijst

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B:B,I:I,K:K")) Is Nothing Then
    Cells(Target.Row, 15) = Cells(Target.Row, 15) & " ! wijziging in kolom " & Target.Column
End If
End Sub
 
Beide edmoor en Albert,

Bedankt voor de oplossing. Ik ben in mijn bedoeling geslaagd. De instructie Not Intersect heb ik nog niet onder de knie. Met oefenen en ze gebruiken lukt het welk.
 
Je kan beter gebruik maken van Application.EnableEvents = False en weer aanzetten met = True.
 
@ VenA,
Daar dacht ik aan maar waar plaats ik de 2 instructies? Onmiddelijk na de if-instuctie?
 
Zo?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B:B,I:I,K:K")) Is Nothing Then
    Application.EnableEvents = False
    Cells(Target.Row, 15) = Cells(Target.Row, 15) & " ! wijziging in kolom " & Target.Column
End If
   Application.EnableEvents = True

End Sub

@ VenA, Ik kan van alles vinden over Application.EnableEvents.
Maar mijn "engels" is niet zo best. Enige uitleg in Nederlands zou bij mij welkom zijn:confused:
 
Laatst bewerkt:
Toch maar even het woordenboek erbij gepakt, is me nu duidelijk wat VenA bedoelde.:D
Het ging om de vraag in #3
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
If ActiveSheet.Name = "complete lijst" Then
    If Target.Column = 2 Or Target.Column = 9 Or Target.Column = 11 Then
     Cells(Target.Row, 15) = Cells(Target.Row, 15) & " ! wijziging in kolom " & Target.Column
    End If
End If
Application.EnableEvents = True
End Sub

Mijn antwoord in #8 is een beetje onzinnig:(
 
Beste,

Ik probeer deze avond de code uit. Bedankt en ik hou je op de hoogte.
 
Beste,

Ik probeer deze avond de code uit. Bedankt en ik hou je op de hoogte.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan