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

Automatisch Datum en tijd vastleggen van een wijziging in een bepaalde Cel.

Status
Niet open voor verdere reacties.

MauriceMoolenaa

Nieuwe gebruiker
Lid geworden
19 apr 2012
Berichten
2
Ik wil graag een Cel aanpassen en bijhouden wanneer de laatste wijziging was van deze cel was.
De cel begint leeg en als er dan iets in komt, moet iets verderop in de row een cel worden gevuld met de datum en tijd. NU()
Het probleem is alleen, dat als NU() iedere keer wordt bijgewerkt als er ook maar iets veranderd in je worksheet.
Ik heb nu in F2 de volgende Formule staan: =ALS($A2="";"";NU())
Dus als in A2 niets staat wordt F2 ook niets.
Als in A2 iets wordt gezet, wordt F2 de huidige datum tijd.
F2 zou niet meer mogen worden aangepast als A2 niet verandert.

Zo heb ik een hele lijst van A2 t/m A201 (200 stuks). Deze wordt automatisch gevuld door een barcodescanner.
Mijn doel is te bepalen hoe snel, de scanner de verschillende barcodes stuurt naar de computer.
Als ik de begintijd weet en de eindtijd, kan ik de totale tijd bepalen en de gemiddelde snelheid per barcode.

Kan iemand me helpen?

Gr.
Maurice
 
MauriceMoolenaa,

Kijk of je wat aan deze code heb.
Hij hoort achter het blad, klik met rechts op de tab van het blad en kies voor
ProgrammaCode weergeven en plk de code daar.
Hij kijkt in kolom 4 (is dus kolom D) en zet in kolom E de datum en tijd.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo einde
  If Target.Column = 4 Then
    If Target.Value <> "" Then
      Target.Offset(0, 1).Value = Date + Time
      Else: Target.Offset(0, 1).Value = ""
    End If
  End If
einde:
End Sub
 
Geweldig bedankt.

Ik heb er dit van gemaakt.
Lezen uit kolom A (1)
Schrijven in Kolom F (5)

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo einde
If Target.Column = 1 Then
If Target.Value <> "" Then
Target.Offset(0, 5).Value = Date + Time
Else: Target.Offset(0, 5).Value = ""
End If
End If
einde:
End Sub

gr.
Maurice
 
Graag gedaan.

De volgende keer moet je de code selecteren en dan boven in het menu op # klikken.
Als je dit doet komt de code mooi in een apart vak te staan. (zie mijn code)

Rest je nu nog om de vraag als opgelost te zetten. (dit doe je bij de vraagstelling - dus het eerste bericht)
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 On Error GoTo einde
 If Target.Column = 1 Then
    Target.Offset(0, 5).Value = IIf(Target.Value <> "", Date + Time, "")
 End If
einde:
 End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan