Automatisch Notitie in cel plaatsen

Status
Niet open voor verdere reacties.

HansFRAP

Gebruiker
Lid geworden
12 jul 2011
Berichten
202
Beschrijving
Ik heb een werkblad met veel data. Dit werkblad wordt door verschillende medewerkers bekeken en soms aangepast.
Nu zou ik bij een aanpassing willen weten wie dat heeft gedaan en wanneer de wijziging is aangebracht.
Ik heb dit opgelost door een check te doen op moment dat werkblad wordt gewijzigd.
In de eigenschappen van het werkblad is een auteur vermeld.
Als iemand anders een wijziging doorvoert, wordt gekeken of de eigenaar dit doet of dat iemand anders dat doet op basis van username.
Is het iemand anders dan zou er een notitie in de gewijzigde cel geplaatst moeten worden met de naam, datum en tijd van degene die heeft gewijzigd.

Plaatsen van de usernaam en datum met tijd lukt wel, alleen is dat de verkeerde cel. nl. de cel waar mijn cursor komt nadat de wijziging is doorgevoerd.

Probleem
Op het moment dat een cel wordt gewijzigd, is het werkblad nog niet gewijzigd. Bij bevestiging van de wijziging (Tab, Enter, Shift-Tab, Shift-Enter) wordt werkblad als gewijzigd gezien.
Dus als ik gebruik maak van: Sub Worksheet_Change(ByVal Target As Range) wordt dit geactiveerd op moment dat ik in volgende cel kom.

Vraag
Uit welke cel ben ik nu gekomen? Met Enter ga ik omlaag, met Tab ga ik naar rechts, etc.
Of: Hoe weet ik welke toetscombinatie gebruikt is om mijn gewijzigde cel af te sluiten, dus wijziging te bevestigen??
 
Target is de gewijzigde cel, onafhankelijk van waar de cursor zich nu bevindt.
 
Klopt, daarom gaat het natuurlijk niet goed.

Heb natuurlijk met de oude functie gewerkt: Wijzigingen bijhouden maar daar wil de sheet nog wel eens 'klappen'. Dus niet echt stabiel.
Er moet toch een manier zijn hoe je de wijzigingen in een gedeeld werkblad kunt zien of zichtaar maken??
 
Als het een gedeeld werkboek is heb je daar geen VBA voor nodig. Excel doet het dan automatisch.
Werbalk Review / track changes.
 
@SNB
Helaas, in Excel 365 wordt deze functie onder Review niet getoond. (Bij mijn Lint is dat in iedergeval niet zichtbaar)
Ik kan deze functie(s) alleen vinden bij het aanpassen van het Lint. Functies kan ik dan vinden onder de lijst: Not in de Ribbon

In het Nederlans: Wijzigingen Bijhouden (verouderd)
(Dit geeft toch niet een groot vertrouwen)

Op de site van microsoft wordt aangegeven dat het nog niet lekker zit.
https://support.microsoft.com/nl-nl...-werkmap-49b833c0-873b-48d8-8bf2-c1c59a628534

(In maart 2021 heeft JKP aangegeven dat deze functie niet stabiel is!)
 
Laatst bewerkt:
Oplossing gevonden

De code: Sub Worksheet_SelectionChange(ByVal Target As Range) geeft het adres van een geselecteerde cel.
Als er daarna een wijziging in die cel wordt gemaakt, kan deze wijziging gedetecteerd worden vanuit: Sub Worksheet_Change(ByVal Target As Range)

Ik kan zo dus in de cel waar de wijziging wordt aangebracht een: Notitie plaatsen als er de wijziging, niet door de eigenaar, wordt gemaakt.
In zo'n geval zal: Auteur <> Username zijn.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan