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

Melding wijziging

Status
Niet open voor verdere reacties.

verluc

Gebruiker
Lid geworden
29 mei 2009
Berichten
535
Heb volgende codelijn om datum en tijd te vermelden wanneer een bepaalde cel in een rij word gewijzigd.

Code:
If Not Intersect(Target, Range("A:T")) Is Nothing Then Range("U" & Target.Row) = Date + Time

Echter wanneer een cel met double-click word aangetikt (wat geen wijziging is !!) geeft deze lijn toch de datum
en tijd weer.
Hoe is dit te voorkomen ?
Met dank voor alle suggesties.
 
Het zou bijvoorbeeld zo kunnen:
Code:
Dim Waarde
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:T")) Is Nothing And Target.Value <> Waarde Then Range("U" & Target.Row) = Date + Time
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Waarde = Target.Value
End Sub

Met vriendelijke groet,


Roncancio
 
Sorry Roncancio, met gebruik van Uw code blijft ook nog datumvermelding bij "double-click"
 
Verluc,

Probeer bijgaande code eens.


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Waarde As Range

Set Waarde = Target
    If Not Intersect(Target, Range("A:T")) Is Nothing And Waarde.Value <> "" Then
        Range("U" & Target.Row) = Date + Time
    End If
End Sub

Veel Succes.
 
Hoi verluc,

De code van Roncancio zorgt ervoor dat alleen als er een nieuwe waarde wordt ingevoerd dat dan de datumvermelding wordt aangepast. Dus als je dezelfde waarde invoer als dat er al stond gebeurt er niets. Als je met dubbelklik een nieuwe waarde invoert dan zal de datumvermelding aangepast worden.
Als je wilt dat er bij dubbelklik niet verandert moet je dat in de VBA-code afschermen.
Code:
Dim Waarde, Dubklik

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dubklik = 1
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:T")) Is Nothing And Target.Value <> Waarde And Dubklik <> 1 Then Range("U" & Target.Row) = Date + Time
Dubklik=0
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Waarde = Target.Value
End Sub

@Roncancio, bedankt voor de code. Ik deed het vroeger veel omslachtiger als ik formules wilde blokkeren. :thumb:

Groet,
Jeroen
 
Laatst bewerkt:
Bedankt allen, met enige aanpassing van mijn code is dit dank zij jullie werkende !!!
 
Of schakel het dubbelklikken uit.
Gevulde cel alleen te benaderen via sneltoets F2.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 Cancel = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:T")) Is Nothing And Target.Value <> Waarde Then Range("U" & Target.Row) = Date + Time
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 Waarde = Target.Value
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan