PSVSupporter
Gebruiker
- Lid geworden
- 13 aug 2009
- Berichten
- 148
Ik heb het volgende probleem.
Ik heb een Userform gemaakt met 3 velden:
Lengte
Breedte
Hoogte
Als ik van Lengte naar Breedte ga (door bij Lengte op enter te drukken, of met TAB), wil ik dat de waarde die ingevuld is in Lengte gecheckt wordt. Dit wil ik doen door gebruik te maken van Lengte_Afterupdate(). Het Labelveld [FOUTMELDING] vul ik dan met een foutmelding, zodat de gebruiker ziet wat er fout is.
Als ik hierin Lengte.SetFocus gebruik, gaat het formulier toch verder naar het volgende veld.
Ik heb het ook geprobeerd met Lengte_Exit, maar het lijkt wel alsof de Setfocus uitgevoerd wordt en daarna pas de Tab/Enter functie uitgevoerd wordt en Setfocus geen functie heeft.
Hoe los ik dit op de juiste manier op?
Pas als het complete formulier gevalideerd is, wil ik de gegevens opslaan in het werkblad.
Ik heb een Userform gemaakt met 3 velden:
Lengte
Breedte
Hoogte
Als ik van Lengte naar Breedte ga (door bij Lengte op enter te drukken, of met TAB), wil ik dat de waarde die ingevuld is in Lengte gecheckt wordt. Dit wil ik doen door gebruik te maken van Lengte_Afterupdate(). Het Labelveld [FOUTMELDING] vul ik dan met een foutmelding, zodat de gebruiker ziet wat er fout is.
Als ik hierin Lengte.SetFocus gebruik, gaat het formulier toch verder naar het volgende veld.
Ik heb het ook geprobeerd met Lengte_Exit, maar het lijkt wel alsof de Setfocus uitgevoerd wordt en daarna pas de Tab/Enter functie uitgevoerd wordt en Setfocus geen functie heeft.
Code:
Private Sub Lengte_Afterupdate()
If IsNumeric(Lengte.Value) = False Then
FOUTMELDING = "Lengte bevat geen geldige waarde"
Lengte.SetFocus
ElseIf Lengte.Value < 1 Or Lengte.Value > 100 Then
FOUTMELDING = "Ongeldige Afmeting"
Lengte.SetFocus
Else: FOUTMELDING = ""
End If
End Sub
Hoe los ik dit op de juiste manier op?
Pas als het complete formulier gevalideerd is, wil ik de gegevens opslaan in het werkblad.