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

Forumthread: TextBox Inhalt auf Richtigkeit prüfen

TextBox Inhalt auf Richtigkeit prüfen
Frank
Hallo am Sonntagabend!!!
Wenn man wie ich mit VBA arbeiten möchte, aber es nicht kann, kommen dann vielleicht solche Fragen auf.
Ich möchte gern prüfen, wenn ich eine TextBox verlasse ob die Eingabe ein bestimmtes Format hat, so zum Beispiel: "00.0000.0000", aus den Nullen werden natürlich Zahlen. Weiß jemand Rat?
Danke an alle!!!
Gruß Frank H.
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: TextBox Inhalt auf Richtigkeit prüfen
28.06.2009 21:11:34
Josef
Hallo Hallo Frank,
statt beim Verlassen zu Prüfen., bevorzuge ich, die Eingabe gleich auf die Zulässigen Werte zu beschränken.
In den Eigenaschaften der TB "MaxLength" auf 12 einstellen und dioesen Code in das Modul des UF.
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  Select Case KeyAscii
    Case 48 To 57
      If Len(TextBox1) = 2 Or Len(TextBox1) = 7 Then
        KeyAscii = 46
      End If
    Case 46
      If Not Len(TextBox1) = 2 And Not Len(TextBox1) = 7 Then
        KeyAscii = 0
      End If
    Case Else
      KeyAscii = 0
  End Select
End Sub

Gruß Sepp

Anzeige
AW: TextBox Inhalt auf Richtigkeit prüfen
28.06.2009 21:27:23
Frank
Hallo Sepp!!!
Wie immer herzlichst Dank!!! Einfach Super, der Tipp!!!
Gruß Frank H.
AW: TextBox Inhalt auf Richtigkeit prüfen
29.06.2009 09:49:15
Jogy
Hi.
Das ist eine gute Lösung, wenn der User die Daten am Stück eingibt. Wenn er nachher noch was ändern, greift sie völlig daneben und es läßt sich kaum mehr eine korrekte Eingabe erreichen.
Also entweder ergänzend dazu

Private Sub TextBox1_Enter()
TextBox1.Value = ""
End Sub

(wobei das nicht gegen eine zu kurze Eingabe hilft)
oder eine Abfrage mit Before_Update:


Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not TextBox1.Value Like "##.####.####" Then
TextBox1 = ""
End If
End Sub


Gruss, Jogy

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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 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:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein UserForm hinzu: Klicke auf Einfügen > UserForm.

  3. Füge eine TextBox hinzu: Ziehe eine TextBox in das UserForm.

  4. 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
  5. Maximale Eingabelänge festlegen: Setze die Eigenschaft MaxLength der TextBox auf 12, um die Eingabe auf das erlaubte Format zu beschränken.

  6. 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

  • Fehler: TextBox akzeptiert ungültige Eingaben

    • Lösung: Stelle sicher, dass der Code zur Überprüfung in BeforeUpdate korrekt eingefügt wurde und die Eingabelänge auf 12 eingestellt ist.
  • Fehler: Benutzer kann nichts eingeben

    • Lösung: Überprüfe, ob der KeyPress-Code nicht die Eingabe blockiert. Der Code sollte nur bei ungültigen Zeichen eingreifen.

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:

  1. Beispiel für das Format "00.0000.0000":

    • Der oben genannte Code in BeforeUpdate stellt sicher, dass nur gültige Eingaben akzeptiert werden.
  2. 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.

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