Code voor alleen getal invoer bij textbox ipv andere tekens?

  • Onderwerp starter Onderwerp starter ZZ1
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

ZZ1

Gebruiker
Lid geworden
21 jul 2009
Berichten
116
Hallo,

Ik heb een Userform gemaakt met daarin verschillende optel functies en verwijzingen.

Je kunt bij een textvak een tekst of getal invoeren graag zou ik deze willen wijzigen dat degene die dit programma gebruikt alleen een getal invoerd en bij andere tekens een message box krijgt met een fout.

Voorbeeld:
textbox 1 is een bedrag wat uit excel wordt gelezen
textbox 2 kun je een aantal invoeren
textbox 3 is een subtotaal van bedrag*aantal

Wie weet hier een code voor textbox 2 waardoor je alleen een getal kunt invoeren ipv andere tekens.

Hoor graag reactie van jullie :D
 
Misschien dat je zoiets kunt doen met de IsNumeric functie. Zolang als die true is dan krijg je getallen binnen en zodra die false is dan haal je het laatst ingevoerde karakter weg (je niet getal zijnde karakter).

Je code zou dan zoiets kunnen zijn als:
Code:
If Not IsNumeric(TextBox2.Value) Then
    TextBox2.Value = Left(TextBox2.Value, Len(TextBox2.Value) - 1)
End If
Je moet wel nog zelf afvangen hoe dat die moet reageren als je eerste ingevoerde karater geen getal is.
 
Deze code werkt wel omdat als ik een leter in de textbox neerzet dan haalt hij deze ook weg maar daarna gaat het fout.

Als het userform standaard wordt geladen staat er een waarde van nul in.

Is het misschien mogelijk als ik een letter erin voeg dat er een messagebox voor komt en aangeeft dat er je geen letters in kunt voeren en daarna met ok terug gaat naar het userform.

Wie weet hier de code voor?? :D
 
Laatst bewerkt:
Als je getallen wil invoeren met een userform: gebruik een kringveld, of een combobox met een lijst van mogelijke getallen.
Een TextBox -de naam zegt het al - is het verkeerde gereedschap voor het invoeren van een getal.
 
Misschien heb je wat aan dit voorbeeldje??

Je kunt toch wel een functie aan een texbox hangen daardoor hij bij een tekst invoer een messagebox toont??

Hoop dat je mij kunt helpen!! :D
 

Bijlagen

Je moet gebruikers niet lastigvallen met meldingen, maar zorgen dat ze alleen het juiste kunnen doen.
 
Deze code werkt wel omdat als ik een leter in de textbox neerzet dan haalt hij deze ook weg maar daarna gaat het fout.
Laat me raden, je selecteert de 0 en tikt een letter? Afvangen van wat je moet doen bij je eerste karakter (cijfer of letter) moest nog gebeuren, zoals ik al zei eerder

Als het userform standaard wordt geladen staat er een waarde van nul in.

Is het misschien mogelijk als ik een letter erin voeg dat er een messagebox voor komt en aangeeft dat er je geen letters in kunt voeren en daarna met ok terug gaat naar het userform.
ja dat behoort tot de mogelijkheden maar netter zou het zijn om gewoon een label boven (of onder) je textbox te zetten en daarin aan te geven dat ze alleen getallen mogen gebruiken. Mocht je perse een messagebox willen laten zien dan kan dat met behulp van een msgbox commando.
 
Ja daar dacht ik ook al aan maar er zal vast niet zo vaak iemand een tekst inzetten dus dat vond ik een beetje overdreven. Dit wordt gebruikt als prijslijst intern en naar onze klant.

Kun jij mij helpen met het maken van de message commando? :D :D
 
Deze vraag is opgelost!! :D

Heb gezocht naar meerdere vragen van mensen en kwam op deze vraag " Foutmelding maken voor alleen cijfers ".

Hier wat aanpassingen op gedaan zodat het werkt:)

Private Sub TextBox1_Change()

If TextBox1.Value = "" Then
Exit Sub
End If
If IsNumeric(TextBox1.Value) Then
Exit Sub
Else
MsgBox ("Je mag alleen cijers invullen!")
TextBox1.Value = ("")

End If
End Sub


Toch heel erg bedankt voor deze moeite!!!! :D :D :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan