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

Beperkte ingave

Status
Niet open voor verdere reacties.

verluc

Gebruiker
Lid geworden
29 mei 2009
Berichten
540
Heb volgende code gehaald van een forum :

Code:
Sub TextBox15_KeyPress(ByVal KeyAscii As msforms.ReturnInteger)
    KeyAscii = -KeyAscii * (Chr(KeyAscii) Like "[1-5]")
End Sub
Deze code beperkt de ingave itot de cijfers 1 tot 5
Bij foute ingave laat deze code de textbox blanco
Wat is fout : ik kan bijvoorbeeld wel 11 , 25 enz ingeven.
Hoe is dit te voorkomen ?
 
Laatst bewerkt door een moderator:
verluc,

Zo kun je maar 1 teken invoeren.
Code:
Sub TextBox1_KeyPress(ByVal KeyAscii As msforms.ReturnInteger)
  KeyAscii = -KeyAscii * (Chr(KeyAscii) Like "[1-5]")
  TextBox1.MaxLength = 1
End Sub
 
Nog een aanvullend vraagje : indien men toch bijvoorbeeld 22 invoert blijkt de textbox alleen het cijfer 2 te plaatsen.Kan deze textbox dan ook niet blank gelaten worden ?
Zeer bedankt op voorhand voor de genomen moeite !!
 
Nog een aanvullend vraagje : indien men toch bijvoorbeeld 22 invoert blijkt de textbox alleen het cijfer 2 te plaatsen.Kan deze textbox dan ook niet blank gelaten worden ?
Zeer bedankt op voorhand voor de genomen moeite !!

Je heb zelf gezien dat er maar 1 cijfer ingevoerd kan worden, dus kun je nooit 22 invoeren.
Misschien met een msgBox die de melding laat zien.
Code:
Sub TextBox1_KeyPress(ByVal KeyAscii As msforms.ReturnInteger)
  KeyAscii = -KeyAscii * (Chr(KeyAscii) Like "[1-5]")
  TextBox1.MaxLength = 1
  MsgBox "U kunt maar 1 cijfer invoeren"
End Sub
 
Laatst bewerkt:
Inderdaad dit is een oplossing.
Wat was de bedoeling : men tikt toch bv.22 in of iets anders, dan blijft één cijfer behouden in die textbox,, in dit geval het cijfer 2
Waneer deze foutieve ingave automatisch op blank gezet zou worden komt dit aan het eind toch uit, aangezien er alsdan een controle is of alle velden zijn ingevuld.Indien dat veld zou blank zijn moet men automatisch toch het juiste cijfer invullen.Vandaar mijn aanvullende vraag.
 
Dit zou ook nog kunnen, zodra het formulier verschijnd komt het bericht.
Code:
Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)  
  KeyAscii = -KeyAscii * (Chr(KeyAscii) Like "[1-5]")
  TextBox1.MaxLength = 1
End Sub

Private Sub UserForm_Initialize()
  MsgBox "U kunt in TextBox1 maar 1 cijfer invoeren"
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan