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

TextBox auf festgelegte Zeichenlänge prüfen

Forumthread: TextBox auf festgelegte Zeichenlänge prüfen

TextBox auf festgelegte Zeichenlänge prüfen
Pixeldieb
Hallo Excel-Gemeinde,
ich möchte beim Exit einer TextBox (UF) auf eine bestimmte Zeichenlänge prüfen. Und zwar muss ein alphanumericher Wert in der Länge von genau 6 Zeichen eingegeben werden. Eingegebene Buchstaben sollten dabei dann in Großbuchstaben angezeigt werden.
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox2 = "" Then       'Hier müsste eigentlich auf die 6 Stellen geprüft werden
MsgBox "Bitte eine 6stellige Kennnummer eingeben"
Me.TextBox2.SetFocus
Exit Sub
End If
Ist das machbar?
Gruß Holger
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: TextBox auf festgelegte Zeichenlänge prüfen
25.05.2010 11:38:13
fcs
Hallo Holger,
hier ein Beispiel mit Prüfung auf Zeichenzahl und Umwandlung in Großbuchstaben.
zusätzlcu kannst du die Eigenschaft "MaxLength" der Textbox noch auf 6 setzen.
Gruß
Franz
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(TextBox2)  6 Then 'Hier müsste eigentlich auf die 6 Stellen geprüft werden
Cancel = True
MsgBox "Bitte eine 6stellige Kennnummer eingeben"
Else
'Eingabe in Großbuchstaben umwandeln
TextBox2 = UCase(TextBox2)
'usw.
End If
End Sub

Anzeige
Danke!
25.05.2010 11:51:34
Pixeldieb
Danke Franz,
es funktioniert wunderbar.
Und danke für den Hinweis mit dem MaxLength eintragen. Manchmal denkt man an die simple Sachen nicht!
Gruß Holger
;
Anzeige
Anzeige

Infobox / Tutorial

TextBox auf festgelegte Zeichenlänge prüfen


Schritt-für-Schritt-Anleitung

Um eine TextBox in Excel VBA auf eine festgelegte Zeichenlänge zu prüfen, kannst Du die folgenden Schritte befolgen:

  1. Öffne das VBA-Editor-Fenster:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein UserForm hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject", wähle "Einfügen" und dann "UserForm".
  3. Füge eine TextBox hinzu:

    • Ziehe eine TextBox auf das UserForm.
  4. Setze die MaxLength-Eigenschaft:

    • Wähle die TextBox aus und suche im Eigenschaftenfenster nach "MaxLength". Setze diesen Wert auf 6.
  5. Füge den folgenden Code in das UserForm ein:

    Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
       If Len(TextBox2) <> 6 Then
           Cancel = True
           MsgBox "Bitte eine 6stellige Kennnummer eingeben"
       Else
           ' Eingabe in Großbuchstaben umwandeln
           TextBox2 = UCase(TextBox2)
       End If
    End Sub
  6. Teste die Funktionalität:

    • Führe das UserForm aus und teste die Eingabe in der TextBox.

Häufige Fehler und Lösungen

  • Fehler: Eingabe wird nicht akzeptiert

    • Lösung: Überprüfe, ob die MaxLength-Eigenschaft korrekt auf 6 gesetzt ist. Diese Eigenschaft verhindert, dass mehr als 6 Zeichen eingegeben werden.
  • Fehler: Keine Umwandlung in Großbuchstaben

    • Lösung: Stelle sicher, dass der Befehl TextBox2 = UCase(TextBox2) im richtigen Teil des Codes platziert ist, um die Eingabe nach der Überprüfung zu konvertieren.

Alternative Methoden

Falls Du keine VBA-Lösung verwenden möchtest, kannst Du auch die Datenüberprüfung in Excel nutzen. Allerdings gibt es hier keine direkte Möglichkeit, die Zeichenlänge in einer TextBox zu prüfen. Stattdessen kannst Du eine Zelle angeben, die die Eingabe überprüft:

  1. Wähle die Zelle aus.
  2. Gehe zu Daten > Datenüberprüfung.
  3. Wähle "Benutzerdefiniert" und füge die Formel ein:
    =LÄNGE(A1)=6
  4. Setze eine Fehlermeldung, die angezeigt wird, wenn die Bedingung nicht erfüllt ist.

Praktische Beispiele

Hier ist ein Beispiel, wie Du die TextBox in einer echten Anwendung nutzen kannst:

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If Len(TextBox2) <> 6 Then
        MsgBox "Bitte eine 6stellige Kennnummer eingeben"
        Cancel = True
    Else
        TextBox2 = UCase(TextBox2)
        ' Weitere Verarbeitungen
    End If
End Sub

In diesem Beispiel wird eine einfache Fehlermeldung ausgegeben, wenn die Zeichenlänge nicht passt. Gleichzeitig wird die Eingabe in Großbuchstaben umgewandelt.


Tipps für Profis

  • Verwende die MaxLength-Eigenschaft: Setze diese Eigenschaft der TextBox auf die gewünschte Länge, um sicherzustellen, dass die Nutzer nicht mehr als 6 Zeichen eingeben können.

  • Validierung beim Eingeben: Du kannst auch den KeyPress-Event der TextBox nutzen, um die Eingabe in Echtzeit zu validieren und zu verhindern, dass ungültige Zeichen eingegeben werden.

  • Verwende reguläre Ausdrücke: Wenn Du mehr Kontrolle über die Eingabewerte benötigst, kannst Du reguläre Ausdrücke verwenden, um sicherzustellen, dass die Eingabe den gewünschten Kriterien entspricht.


FAQ: Häufige Fragen

1. Wie kann ich verhindern, dass der Benutzer mehr als 6 Zeichen eingibt? Die MaxLength-Eigenschaft der TextBox kann auf 6 gesetzt werden, um dies zu verhindern.

2. Funktioniert dies in allen Excel-Versionen? Ja, die beschriebene Methode sollte in allen Versionen von Excel, die VBA unterstützen, funktionieren.

3. Was passiert, wenn der Benutzer weniger als 6 Zeichen eingibt? In dem bereitgestellten Code wird eine Fehlermeldung angezeigt, und der Fokus bleibt auf der TextBox, bis eine gültige Eingabe erfolgt.

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