TextBox Inhalt auf Richtigkeit prüfen
Schritt-für-Schritt-Anleitung
Um den Inhalt einer TextBox in Excel VBA auf Richtigkeit zu prüfen, kannst du folgende Schritte befolgen:
-
Öffne den VBA-Editor: Drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Füge ein UserForm hinzu: Klicke auf Einfügen > UserForm
.
-
Füge eine TextBox hinzu: Ziehe eine TextBox in das UserForm.
-
Füge den Code zur Überprüfung hinzu: Klicke mit der rechten Maustaste auf die TextBox und wähle Code anzeigen
. Füge den folgenden Code ein:
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not TextBox1.Value Like "##.####.####" Then
MsgBox "Bitte das Format 00.0000.0000 verwenden."
Cancel = True
End If
End Sub
-
Maximale Eingabelänge festlegen: Setze die Eigenschaft MaxLength
der TextBox auf 12, um die Eingabe auf das erlaubte Format zu beschränken.
-
Teste die Funktion: Schließe den VBA-Editor und teste das UserForm, um sicherzustellen, dass die Eingabe korrekt geprüft wird.
Häufige Fehler und Lösungen
Alternative Methoden
Falls du die Eingaben nicht nur beim Verlassen der TextBox, sondern auch während der Eingabe überprüfen möchtest, kannst du den KeyPress
-Ereignis verwenden:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57 ' Zahlen 0-9
' Erlaubt
Case 46 ' Punkt
If Not (Len(TextBox1) = 2 Or Len(TextBox1) = 7) Then
KeyAscii = 0 ' Blockiere die Eingabe
End If
Case Else
KeyAscii = 0 ' Blockiere andere Eingaben
End Select
End Sub
Diese Methode hilft dir, die Füllmenge zu überwachen, während der Benutzer die Eingabe tätigt.
Praktische Beispiele
Hier sind einige Beispiele, wie du die TextBox auf Richtigkeit prüfen kannst:
-
Beispiel für das Format "00.0000.0000":
- Der oben genannte Code in
BeforeUpdate
stellt sicher, dass nur gültige Eingaben akzeptiert werden.
-
Eingabe löschen, wenn ungültig:
- Du kannst den Wert der TextBox zurücksetzen, falls die Eingabe nicht dem gewünschten Format entspricht:
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not TextBox1.Value Like "##.####.####" Then
TextBox1.Value = ""
MsgBox "Ungültige Eingabe. Bitte im Format 00.0000.0000 eingeben."
End If
End Sub
Tipps für Profis
- Verwende die
BeforeUpdate
-Ereignisse, um die Eingaben zu validieren, bevor sie in das Arbeitsblatt geschrieben werden.
- Kombiniere die Eingabeverbesserungen mit visuellen Hinweisen, wie z.B. dem Ändern der Hintergrundfarbe der TextBox bei ungültigen Eingaben.
- Teste deinen Code gründlich, um sicherzustellen, dass unerwartete Eingaben richtig gehandhabt werden.
FAQ: Häufige Fragen
1. Wie kann ich die Eingabe auf andere Formate prüfen?
Du kannst den Like
-Operator in VBA anpassen, um verschiedene Formate zu akzeptieren. Zum Beispiel, für das Format "##-##-####" könntest du If Not TextBox1.Value Like "##-##-####"
verwenden.
2. Was passiert, wenn der Benutzer die Eingabe löscht?
Wenn der Benutzer die Eingabe löscht, wird die Prüfung immer noch ausgeführt. Du kannst zusätzliche Bedingungen einfügen, um leere Eingaben zuzulassen oder spezielle Behandlungen vorzunehmen.