Audit trail

Status
Niet open voor verdere reacties.

Lobanovski

Gebruiker
Lid geworden
6 apr 2011
Berichten
15
Voor een registratie en rapportage bestand in excel wil ik graag de logginggegevens naar een .txt file schrijven
Het gaat er dan om welke user er op een bepaalde dstum en tijd een wijziging in het bestand heeft aangebracht.

Ik heb onderstaande macro hiervoor gebruikt en deze werkt goed, behalve dat de oude waarde van de cel niet terugkomt in .txt file:

Dim OudeWaarde

Private Sub Workbook_Open()

Loginformation "opened by " & Application.UserName & " " & Format(Now, "dd/mm/yyyy hh:mm")
OudeWaarde = ActiveCell.Value

End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim filenum
Dim i
Dim fic

If Target.Value <> previousvalue Then
Application.EnableEvents = False
filenum = FreeFile
logfile = "C:\Logginggegevens\abc.log"
Open logfile For Append As filenum
Print #filenum, Environ("UserName") & Chr(13) & " " & Format(Now, "dd/mm/yyyy hh:mm:ss ") & " changed cell " & ActiveSheet.Name & Target.Address & " from " & OudeWaarde & " To " & Target.Value
Close filenum
Application.EnableEvents = True
End If
End Sub

Private Sub WorkSheet_SelectionChange(ByVal Target As Range)
OudeWaarde = Target.Value
End Sub


In de logfile krijg in onderstaande tekst:

User1 20-06-2012 21:38:52 changed cell Registratie$B$5474 from To Anneke

Ik krijg de waarde die de cel had voordat ik wijzigde in Annke dus niet te zien. Dit is wle de bedoeling.

Zouden jullie mij kunnen helpen om de code aan te passen?

Alvast bedankt!
 
Zet VBA code svp tussen code tags.

Waarom gebruik je niet de ingebouwde funktie wijzigingen bijhouden ?

Als oudewaarde en previousvalue 2 variabeleen zijn, gaat dit natuurlijk niet lukken.
Gebruik steeds dezelfde naam voor een variabele.

Declareer de variabele zo:

Code:
Private oudewaarde as string

zowel de 'variabele' filenum als logfile is overbodig.
dat geldt ook voor beide regels met application.enableevents
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan