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

Code gaat herhalen

Status
Niet open voor verdere reacties.

fwalraven

Gebruiker
Lid geworden
30 apr 2006
Berichten
191
Hallo,

Als ik bij F5 een verkeerde waarde invul gaat het goed tot en met Range("F5").ClearContents
F5 wordt leeg gemaakt.

Maar daarna begint de code weer opnieuw en komt de msgbox weer tevoorschijn.

Hoe laat ik de code stoppen na Range("F5").ClearContents?
Zodat ik de juiste waarde kan invullen.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
''PERIODE 1
Dim answer As Integer
 If Range("F5").Value < Range("E5").Value Then
 answer = MsgBox("EINDSTAND IS TENMINSTE GELIJK OF HOGER!!" & vbNewLine & vbNewLine & "EINDSTAND VERANDEREN?", vbYes, "STANDEN 1E PERIODE")
 End If

   If answer = vbYes Then
    Sheets("PROEF").Range("F5").Select
    Range("F5").ClearContents
End If
Exit Sub
 
Zoiets:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    [COLOR="#008000"]'PERIODE 1[/COLOR]
    If Range("F5").Value < Range("E5").Value Then
        If MsgBox("EINDSTAND IS TENMINSTE GELIJK OF HOGER!!" & vbNewLine & vbNewLine & "EINDSTAND VERANDEREN?", vbYesNo, "STANDEN 1E PERIODE") = vbYes Then
            Application.EnableEvents = False
            Sheets("PROEF").Range("F5").ClearContents
            Application.EnableEvents = True
        End If
    End If
End Sub

Tevens je code wat opgeknapt.
Gebruik correcte inspringpunten.
Voorkom het gebruik van .Select
Gebruik geen onnodige variabelen.
 
of?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    'PERIODE 1
    If Target.Address(0, 0) = "F5" And Range("F5").Value < Range("E5").Value Then
        MsgBox "EINDSTAND IS TENMINSTE GELIJK OF HOGER!!"
            Application.EnableEvents = False
            Sheets("PROEF").Range("F5").ClearContents
            Application.Goto Range("F5")
            Application.EnableEvents = True
        
    End If
End Sub
 
Waarom fabriceren wat in Excel is ingebouwd ?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$E$5" Then If IsNumeric(Target) then Target.Offset(, 1).Validation.Add 2, , 5, Target
End Sub
 
Laatst bewerkt:
ik ga voor de code van AD1957.

Allen bedankt voor het meedenken.

Frans
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan