vast aantal cijfers in textbox

Status
Niet open voor verdere reacties.

ExcelTonnie

Gebruiker
Lid geworden
5 jul 2016
Berichten
308
In VBA kun je in de voorkeuren het max. aantal karakter invoer aangeven.

Ik zou graag willen dat er verplicht 6 cijfers ingevoerd moet worden.
Nergens heb ik iets kunnen vinden, ook niet over de minimale invoer.
Voor de duidelijkheid, standaard moet er dus altijd 6 cijfers ingevoerd worden anders een melding.
 
En heb je het dan over invoer in een cel?
Of een tekstbox op het werkblad?
Of een tekstbox in een userform?
 
Dat zou ik zo doen:
Code:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If Len(TextBox1.Text) < 6 Then
        Select Case KeyAscii
            Case 48 To 57
        Case Else
            KeyAscii = 0
        End Select
    Else
        KeyAscii = 0
    End If
End Sub
 
Dat zou ik zo doen:
Code:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If Len(TextBox1.Text) < 6 Then
        Select Case KeyAscii
            Case 48 To 57
        Case Else
            KeyAscii = 0
        End Select
    Else
        KeyAscii = 0
    End If
End Sub

IS niet helemaal wat ik bedoel geloof ik.
Zoals ik het zie is het max aantal invoer is 6 en moet eerst leegmaken alvorens weer 6 getallen in te voer. (logisch)

Echter wanneer ik 1 cijfers invoer kan ik ook gewoon doorgaan.

De bedoeling is, invoer minder dan 6 cijfers een Msgbox "Vul het volledige getal in bestaand uit 6 cijfers"
Meer als 6 cijfers invoer is niet mogelijk maken.
Misschien een beetje onduidelijke uitleg maar dit is mijn bedoeling.
 
Die lengte kan je dan controleren in het exit event van de textbox:
Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If Len(TextBox1.Text) <> 6 Then
        MsgBox "Vul het volledige getal in bestaande uit 6 cijfers", vbCritical
        Cancel = True
    End If
End Sub
 
Laatst bewerkt:
@exceltonnie: blijf eens van die QUOTE knop af; je hebt een prachtige <Reageer op bericht> knop. Probeer 'm eens uit :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan