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

VBA Logbestand bijhouden waarde uit kolom A

Status
Niet open voor verdere reacties.

Tweety1

Gebruiker
Lid geworden
6 mrt 2013
Berichten
637
Ik gebruik de volgende macro om een log bestand bij te houden. Alleen weet ik niet hoe ik de kan aanpassen zodat hij ook automatisch de waarde uit kolom A (verborgen) mee neemt. En is ook mogelijk om de "target.Address" te splitsen in kolom en cel (apart in een kolom).


Code:
Dim PreviousValue
Private Sub Worksheet_Change(ByVal target As Range)
If target.Value <> PreviousValue Then
x = Environ("USERNAME") & "|" & Application.UserName & "|" & " changed cell " & "|" & ActiveSheet.Name & target.Address _
            & "|" & PreviousValue & "|" & target.Value & "|" & Date & "|" & Time
Sheets("log").Cells(65000, 1).End(xlUp).Offset(1, 0).Resize(1, 8).Value = Split(x, "|")
End If

End Sub

Private Sub Worksheet_SelectionChange(ByVal target As Range)
PreviousValue = target.Value
End Sub
 
Ik begrijp de vraag niet helemaal. Deze code houdt alle veranderingen bij, dus kolom "A" toch ook? Of bedoel je dat je de code wil beperken tot kolom "A" ?

target heeft ook de "row" en "column" eigenschappen dus in principe weet je kolom en rij toch al apart?
 
Wat ik graag wil is dat ik log bestand kan filteren op de waarde die in kolom A staat. Zodat ik weet welke wijzigingen in de zelfde regel is.
Nu staat bv de cel $C$11 in een cel hoe kan ik deze splitsen
 
Dat kan met formules in het sheet of mee wegschrijven:
Code:
x = Environ("USERNAME") & "|" & Application.UserName & "|" & " changed cell " & "|" & ActiveSheet.Name & target.Address _
            & "|" & PreviousValue & "|" & target.Value & "|" & Date & "|" & Time & "|" & target.row & "|" & target.column

Krijg je 2 nieuwe kolommen op het eind met de rij en kolom waar de verandering heeft plaatsgevonden. kolom "A" = kolom 1
 
Het splitsen van kolommen is hiermee opgelost.
Nu nog de waarde uit kolom A
 
Heb de oplosing gevonden door de volgende regel toetevoegen

& Range("A" & target.Row).Value
 
Op zich werkt het goed. Alleen heb ik op het log tabblad een tabel gemaakt. is de tabel al gevuld dat plakt ie het er netjes onder en wordt de tabelgrootte aangepast. Is de tabel leeg dan plakt hij er onder en wordt de tabelgrootte niet aangepast hoe kan ik dat aanpassen
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan