Eingabe auf bestimmte Zahlen/Zeichen beschränken

  • Excel

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von peterfido.

    Eingabe auf bestimmte Zahlen/Zeichen beschränken

    Hallo

    Ich habe verschiedene Textboxen und ich möchte gerne für einige Textboxen individuell die Eingabemöglichkeiten beschränken.
    In der einen Textbox darf Zahlen und komma eingegeben werden. ich habe dazu schon einiges versucht aber bekomme immer die
    Fehlermeldung:
    Fehler beim komplimieren: Deklaration der Prozedur entspricht nicht der Beschreibung eines Ereignisses oder einer Prozedur mit demselben Namen

    Der Name des Textfeldes ist richtig "Mengeqm". Muss ich zusätzlich in der Eigenschaften was verändern oder anpassen?

    Visual Basic-Quellcode

    1. Private Sub Mengeqm_KeyPress(KeyAscii As Integer)
    2. If InStr("1234567890" & Chr$(8), Chr$(KeyAscii)) = 0 Then
    3. KeyAscii = 0
    4. End If
    5. End Sub


    oder das versucht:

    Visual Basic-Quellcode

    1. Private Sub Mengeqm_KeyPress(KeyAscii As Integer)
    2. Dim Zugelassen As String
    3. Zugelassen = "1234567890," & Chr$(8)
    4. Text1.Locked = False
    5. If InStr(1, Zugelassen, Chr$(KeyAscii)) = 0 Then
    6. KeyAscii = 0
    7. End If
    8. End Sub
    Hallo TeamBob,
    die Zeile 1 stimmt nicht. Lösch' mal Code des Events raus
    oder kommentiere ihn aus. Zeige die Form an, mach einen
    Doppelklick auf die Textbox Mengeqm und wähle dann im
    Codefenster oben rechts das KeyPress-Ereignis aus.
    Komma ist übrigens nicht Chr$(8) und bei Instr immer
    den ersten Parameter angeben, sonst gibt es Probleme,
    wenn der String Zahlen enthält was hier der Fall ist.
    Gruss,

    Neptun
    Also ich habe immernoch das Problem, dass ich die Eingabe des Textfeldes nicht so beschränken kann,
    dass man nur Zahlen und ein Komma eingeben kann.
    Es kommt zwar die Meldung, dass nur Zahlen eingegeben werden dürfen, aber
    nach der Meldung wurde trotzdem der Buchstabe geschrieben. Es soll jedoch überhaupt nicht möglich
    sein Buchstaben oder so reinzuschreiben.


    Visual Basic-Quellcode

    1. Private Sub TBMenge_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    2. If Not IsNumeric(TBMenge.Text) Then
    3. MsgBox ("Es dürfen nur Zahlen eingegeben werden")
    4. TBMenge.SetFocus
    5. TBMenge.Locked = False
    6. End If
    7. End Sub
    Ja,

    KeyAscii muss auf 0 gesetzt werden.

    Visual Basic-Quellcode

    1. Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    2. If KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = Asc(",") Then
    3. If Len(TextBox1.Text) > 8 Then 'Längenbegrenzung wenn keine geboten wird
    4. KeyAscii = 0
    5. End If
    6. Else
    7. KeyAscii = 0
    8. End If
    9. End Sub

    Gruß
    Peterfido

    Keine Unterstützung per PN!