Extra validatie voorwaarde op een textbox van een userform

Status
Niet open voor verdere reacties.

Koos Voos

Gebruiker
Lid geworden
11 apr 2008
Berichten
87
Geachte,

Voor de invoer van een textbox (txtLading), heb ik 2 codes in mijn Excel userform.
Ik heb dit zo opgelost omdat het userform naar mijn mening op deze manier
(gebruikers)vriendelijker is dan door deze code te combineren.
------------------------------------------------------------------------------------
Private Sub txtLading_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub
------------------------------------------------------------------------------------
Private Sub txtLading_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Val(txtLading) > 1000 Then
txtLading.Text = ""
MsgBox "De hoeveelheid mag maximaal 1000 Kg zijn."
Cancel = True
End If
End Sub
------------------------------------------------------------------------------------
Bij deze laatste code zou ik graag nog een extra voorwaarde willen, nl het volgende:

Als de selectiekeuze uit mijn combobox (cboKlant) gelijk is aan "Klant 1", mag het ingevulde getal niet groter zijn dan 500. Bij de overige klanten mag het wel 1000 zijn.

Na veel proberen en zoeken ben ik er nog steeds niet uit, hoe dit op te lossen.

Bij voorbaat dank,

Groeten,
Koos
 
Misschien is het beter om je bestandje te uploaden (zonder gevoelige info uiteraard).
 
zoiets:?

Code:
Private Sub txtLading_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Select Case cboKlant.Value
Case "Klant 1"
If Val(txtLading) > 500 Then
txtLading.Text = 500 'of ""
MsgBox "De hoeveelheid van deze klant mag maximaal 500 Kg zijn."
Cancel = True
End If
Case Else
'eventueel aanvullen voor andere klanten
End Select
If Val(txtLading) > 1000 Then
txtLading.Text = ""
MsgBox "De hoeveelheid mag maximaal 1000 Kg zijn."
Cancel = True
End If
End Sub
 
Ja, dat is 'm :).......werkt perfect.......:thumb:

Het was mij helaas niet gelukt......
Ik begrijp nu ook wat ik fout had gedaan. :eek:

Dank u...dank u....:thumb::thumb:

Groeten,
Koos
 
Beste Koos,
Een klein tip/suggestie op je code, het gaat je regels schelen.

Code:
Private Sub txtLading_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr("0123456789", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub
Fred
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan