Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: TextBox Eingabeformat definieren

TextBox Eingabeformat definieren
13.04.2015 13:21:02
Andreas
Hallo zusammen,
ich möchte, dass in eine Textbox auf meiner UserForm nur die Eingabe eines genauen Formates erlaubt ist.
4 Buchstaben + 7 Zahlen
Keine Freizeichen oder irgendwelche anderen Zeichen dazwischen sind erlaubt.
Wenn die Eingabe nicht entsprechend ist, hätte ich gerne eine Messagebox
"Bitte in folgendem Format eingeben: ABCD1234567"
Kann mir hierzu jemand helfen?
Vielen Dank schonmal!
Andreas

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: TextBox Eingabeformat definieren
13.04.2015 14:30:07
Hajo_Zi
Hallo Andreas,
Eigenschaft Max auf 11 stellen.
Option Explicit
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Len(TextBox1)  3 Then
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End If
End Sub

Anzeige
AW: mit Msgbox
13.04.2015 14:40:46
Hajo_Zi
Hallo Andreas,
Option Explicit
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Len(TextBox1)  3 Then
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Else
KeyAscii = 0
MsgBox "Falsche Eingabe nur Zahlen"
End Select
End If
End Sub
Gruß Hajo

Anzeige
AW: TextBox Eingabeformat definieren
13.04.2015 14:55:01
Andreas
Hallo Hajo,
vielen Danke für die schnelle Hilfe, funktioniert 1A!

AW: TextBox Eingabeformat definieren
13.04.2015 14:57:12
fcs
Hallo Andreas,
zusätzlich zur Prüfungen der jeweils eingegebenen Tasten wie bei Hajo, sollte nach dem Verlassen der Textbox die Länge des eingegebenen Textes geprüft werden.
Gruß
Franz
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Textboxinhalt beim Verlassen der Textbox prüfen
With Me.TextBox1
If Len(.Value)  11 Then
MsgBox "unzulässige Länge: Zulässige Eingabe sind 4 Buchstaben + 7 Ziffern"
Cancel = True
End If
End With
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Tasteneingabe in Textbox während Eingabe prüfen
With Me.TextBox1
If Len(.Value) 

Anzeige
AW: TextBox Eingabeformat definieren
13.04.2015 16:24:30
Nepumuk
Hallo Franz,
das lässt sich in der TextBox-Eigenschaft MaxLength einstellen. Damit lassen sich dann nicht mehr wie die festgelegte Anzahl von Zeichen eingeben.
Gruß
Nepumuk

AW: TextBox Eingabeformat definieren
13.04.2015 16:36:00
fcs
Hallo Nepomuk,
hier geht es ja darum ggf. zu prüfen, ob weniger als 11 Zeichen eingegeben wurden.
Gruß
Franz

Anzeige
AW: TextBox Eingabeformat definieren
13.04.2015 16:51:37
Nepumuk
Hallo Franz,
da hast du Recht.
Gruß
Nepumuk
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

TextBox Eingabeformat in Excel definieren


Schritt-für-Schritt-Anleitung

Um ein spezifisches Eingabeformat für eine TextBox in einer UserForm in Excel zu definieren, gehe wie folgt vor:

  1. UserForm erstellen: Öffne den VBA-Editor (Alt + F11) und füge eine neue UserForm hinzu.
  2. TextBox hinzufügen: Ziehe eine TextBox auf die UserForm.
  3. Maximale Länge einstellen: Setze die MaxLength-Eigenschaft der TextBox auf 11, um sicherzustellen, dass maximal 11 Zeichen eingegeben werden können.
  4. Eingabevalidierung hinzufügen: Füge den folgenden VBA-Code in das Code-Fenster der UserForm ein:
Option Explicit

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If Len(TextBox1) < 11 Then
        Select Case KeyAscii
            Case Asc("A") To Asc("Z"), Asc("0") To Asc("9")
            Case Else
                KeyAscii = 0
                MsgBox "Bitte in folgendem Format eingeben: ABCD1234567"
        End Select
    End If
End Sub

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    With Me.TextBox1
        If Len(.Value) <> 11 Then
            MsgBox "Unzulässige Länge: Zulässige Eingabe sind 4 Buchstaben + 7 Ziffern"
            Cancel = True
        End If
    End With
End Sub
  1. Testen: Schließe den VBA-Editor und teste die UserForm, um sicherzustellen, dass die Eingabevalidierung funktioniert.

Häufige Fehler und Lösungen

  • Fehler: Die TextBox akzeptiert unerwünschte Zeichen.

    • Lösung: Stelle sicher, dass im KeyPress-Ereignis nur Buchstaben und Zahlen erlaubt sind.
  • Fehler: Die Nachricht wird nicht angezeigt.

    • Lösung: Überprüfe, ob der Code im richtigen Ereignis (KeyPress oder Exit) platziert ist.

Alternative Methoden

Eine andere Möglichkeit, die Eingabe zu validieren, besteht darin, die Eingabe im AfterUpdate-Ereignis der TextBox zu überprüfen. Hier ist ein Beispiel:

Private Sub TextBox1_AfterUpdate()
    If Not TextBox1.Value Like "????######" Then
        MsgBox "Bitte in folgendem Format eingeben: ABCD1234567"
        TextBox1.SetFocus
    End If
End Sub

Diese Methode verwendet Platzhalter, um das genaue Format zu überprüfen.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die Code-Schnipsel anpassen kannst:

  • Erweitertes Format: Wenn du ein anderes Format benötigst, wie z.B. 3 Buchstaben gefolgt von 5 Zahlen, passe die Bedingungen im Code entsprechend an.

  • Zusätzliche Eingaben: Du kannst auch zusätzliche Bedingungen für die Eingabe hinzufügen, wie z.B. bestimmte Buchstaben oder Zahlen, die nicht erlaubt sind.


Tipps für Profis

  • Fehlermeldungen anpassen: Überlege dir, wie du die Fehlermeldungen benutzerfreundlicher gestalten kannst, indem du spezifische Anweisungen gibst.

  • Code-Optimierung: Achte darauf, redundante Bedingungen im Code zu vermeiden, um die Performance zu verbessern.

  • Eingabefelder formatieren: Nutze die Format-Eigenschaft von TextBoxen, um die Eingabe visuell ansprechender zu gestalten.


FAQ: Häufige Fragen

1. Kann ich mehrere TextBoxen gleichzeitig validieren?
Ja, du kannst den Code einfach für jede TextBox anpassen oder eine gemeinsame Validierungsfunktion erstellen.

2. Funktioniert das auch in Excel 2010?
Ja, der beschriebene VBA-Code ist mit Excel 2010 und neueren Versionen kompatibel. Achte jedoch darauf, dass die VBA-Umgebung korrekt eingerichtet ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige