• 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.

Datum laatste wijziging per cel

Status
Niet open voor verdere reacties.

Revolutionary

Gebruiker
Lid geworden
1 apr 2009
Berichten
183
Goedemiddag helpers,

Ik heb een excelbestandje met in kolom B t/m kolom AH (het zijn samengevoegde cellen) de aantekeningen van mij en mijn collega's. Dagelijks wordt er in dit bestand gewerkt en nu zou ik graag in Kolom A een formule willen hebben die de huidige datum geeft zodra een aantekening wordt aangepast of verwijderd. Deze datum mag vervolgens niet veranderen totdat er opnieuw een wijziging wordt aangebracht.

Met andere woorden: wanneer een aantekening in B3-AH3 wordt aangepast zou er in A3 de datum van het moment van wijzigen moeten komen te staan. Hetzelfde geldt voor A4, A5 etc etc.

Ik heb al wel een formule gemaakt in AI3 waarmee gecontroleerd kan worden of er aantekeningen zijn aangepast, namelijk door het aantal woorden te tellen in een cel. Vervolgens wordt dit getal gekopieerd naar de kolom daarnaast (AJ3) zodra het bestand gesloten wordt. De formule die de datum van wijziging toont zou dan geactiveerd moeten worden zodra AI3<>AJ3. Het is maar een idee. Overigens niet waterdicht, aangezien een wijziging er niet voor hoeft te zorgen dat het aantal woorden veranderd...

Ik heb op dit forum gezocht naar soortgelijke vraagstukken en die waren er wel, maar daar kon ik toch niet direct iets mee, omdat het in die vraagstukken ging om wijzigingen in het gehele document en bij mij om wijzigingen in een cel...

In heb een voorbeeldje bijgevoegd, zodat jullie een idee krijgen hoe het bestand eruit ziet. Bekijk bijlage Voorbeeld.xlsx

Alvast bedankt voor jullie hulp!

Tim
 
Beste popipipo en sylvester-ponte bedankt voor jullie hulp!:thumb:

Ik heb beide codes getest en ze lijken allebei precies te doen wat ze moeten doen:)

Even een paar vraagjes:
1. Wat is eigenlijk het verschil tussen de uitwerking van jullie codes? Ik kan het niet ontdekken.
2. Sylvester-ponte, waar is de 2e VBA code voor? Als ik die verwijder blijft de eerste code gewoon werken...
3. De vba-code zou op een aantal rijen niet van toepassing moeten zijn, bijvoorbeeld rij 1 en 2 en rij 7 en 8. Hoe kan ik de VBA-code aanpassen zodat die deze rijen met rust laat.

Tot slot gaf de eerste code van sylvester-ponte een foutmelding als ik een regel leegmaakte mbv Delete, dat heb ik inmiddels verholpen door On Error Resume Next aan de code toe te voegen.

Nogmaals bedankt!

Tim
 
hoi Revolutionary

ik heb kolom AK verborgen daar wordt de tekst opgeslagen als je arriveert in je tekstCel
op het moment dat daar iets verandert wordt de datum aangepast.
dus niet als je de tekstCel selecteert en daarna weer verlaat zonder iets veranderd te hebben,
dan mag de datum niet veranderen.

in het andere systeem veranderd de datum na selectie van de tekstCel wel als je de cel weer verlaat.
ook als er niets veranderd is.
groet sylvester
 
Laatst bewerkt:
Beste sylvester-ponte,

Bedankt voor je uitleg, nu begrijp ik wat je bedoelt:)

Ik zet deze topic op opgelost.

Nogmaals bedankt!
 
in principe heb je die selectionchange event niet nodig en kan je het met enkel die change event ook oplossen !

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim isect As Range, Huidig As Variant
  Set isect = Intersect(Target, Range("b3:ah100"))         'alle gewijzigde cellen in dit bereik
  If isect.Cells.Count <> 1 Then Exit Sub                  'ga alleen verder indien er juist 1 cel overblijft
  Huidig = isect.Value                                     'huidige inhoud van die cel
  With Application
    .EnableEvents = False                                  'events uitschakelen
    .Undo                                                  'laatste wijziging ongedaan maken
    If isect.Value <> Huidig Then isect.Offset(, 1 - isect.Column).Value = Now  'indien er iets veranderd is, tijdstip in 1e kolom
    isect.Value = Huidig                                   'huidige waarde terugzetten
    .EnableEvents = True                                   'events terug inschakelen
  End With
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan