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

Alle TextBoxen auf Inhalt prüfen

Forumthread: Alle TextBoxen auf Inhalt prüfen

Alle TextBoxen auf Inhalt prüfen
20.08.2015 15:30:47
Juli
Hallo :)
wie prüfe ich alle TextBoxen nach Inhalt?
Ich möchte über die TextBox etwas in Excel eingeben.
Bevor ich aber anlege (d.h. Button "Speichern" anklicke) sollen alle TextBoxen überprüft werden ob Eingabe ein Datum ist.
Ich hab 25 TextBoxen.
Viele Grüße
Juli

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alle TextBoxen auf Inhalt prüfen
20.08.2015 15:45:33
Jack_d
Hallo Juli
Hier mal eine Schleife über die Textboxen.
Muss halt noch auf deine Mappe angepasst werden.
Grüße
Private Sub Test()
Dim n As Long
For n = 1 To 25
msgbox Me.Controls("TextBox" & CStr(n)).value
Next n
End Sub 

Anzeige
AW: Alle TextBoxen auf Inhalt prüfen
20.08.2015 15:48:47
Mullit
Hallo,
wenn sich Deine Boxen auf einer Form befinden, dann im Prinzip so:
Option Explicit
Private Sub CommandButton1_Click()
Dim ctrControl As Control
For Each ctrControl In Controls
With ctrControl
If TypeOf ctrControl Is MSForms.TextBox Then _
If Not IsDate(.Value) Then _
MsgBox "NoDate in: " & .Name: Exit For
End With
Next
End Sub

Gruß, Mullit

Anzeige
AW: Alle TextBoxen auf Inhalt prüfen
20.08.2015 15:50:10
Armin
Hallo,
das kannst Du nur beim speichern überprüfen und dabei reagieren. Z.Bsp. die Prüfung eines Datum mit
Sub Speichern_Button ()
IF Not ISDate(Textbox1.value) Then Exit Sub
End Sub 
Gruß Armin

AW: Alle TextBoxen auf Inhalt prüfen
20.08.2015 16:04:39
Juli
Dankeeee!! Echt toll
Das mit Exit Sub funktioniert super, so wie ich es mir vorgestellt hatte.
nur will ich das jetzt in eine Funktion einpacken, damit ich das nicht bei jeder TextBox schreiben muss.
Kann ich eine TextBox an eine Funktion übergeben? Weil eig ist das ja ein "Objekt"?1
Viele Grüße

Anzeige
AW: Alle TextBoxen auf Inhalt prüfen
20.08.2015 16:35:49
Armin
Hallo
So:

Sub Sub Speichern_Button ()
IF Not Pruefen_Txtbox(Textbox1.value) Then
Exit Sub
end if
end Sub
Function Pruefen_Txtbox (Inhalt as String)
Pruefen_Txtbox = ISDate(Textbox1.value)
End Function
Wenn True dann ist ok, wenn false nicht.
Gruß Armin
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Alle TextBoxen auf Inhalt prüfen in Excel


Schritt-für-Schritt-Anleitung

Um alle TextBoxen in einer Excel-Form zu überprüfen und sicherzustellen, dass der eingegebene Inhalt ein Datum ist, kannst Du die folgenden Schritte ausführen:

  1. Öffne Deine Excel-Arbeitsmappe und gehe zu der Form, die die TextBoxen enthält.
  2. Füge einen CommandButton hinzu, der die Überprüfung auslöst.
  3. Öffne den VBA-Editor (Alt + F11).
  4. Füge den folgenden Code in das Code-Fenster des CommandButtons ein:
Option Explicit
Private Sub CommandButton1_Click()
    Dim ctrControl As Control
    For Each ctrControl In Controls
        With ctrControl
            If TypeOf ctrControl Is MSForms.TextBox Then _
                If Not IsDate(.Value) Then _
                    MsgBox "NoDate in: " & .Name: Exit For
        End With
    Next
End Sub
  1. Schließe den VBA-Editor und teste die Funktionalität, indem Du auf den CommandButton klickst.

Häufige Fehler und Lösungen

  • Fehler: "Typen nicht übereinstimmend"

    • Lösung: Stelle sicher, dass alle TextBoxen korrekt benannt sind und dass Du im Code den richtigen Typ verwendest.
  • Fehler: "Kein Datum in: TextBox"

    • Lösung: Überprüfe den Inhalt der TextBoxen. Wenn Du sicherstellen möchtest, dass die Eingabe ein Datum ist, kannst Du die Eingabemaske anpassen, um die Eingabe zu validieren.

Alternative Methoden

Eine alternative Methode zur Überprüfung der TextBoxen ist die Verwendung einer separaten Funktion, um den Code zu vereinfachen. Hier ein Beispiel:

Sub Speichern_Button()
    If Not Pruefen_Txtbox(TextBox1.Value) Then
        Exit Sub
    End If
End Sub

Function Pruefen_Txtbox(Inhalt As String) As Boolean
    Pruefen_Txtbox = IsDate(Inhalt)
End Function

Diese Methode ermöglicht es Dir, die Logik für die Überprüfung von mehreren TextBoxen zu zentralisieren und den Code zu optimieren.


Praktische Beispiele

Hier ist ein Beispiel, wie Du die Überprüfung aller TextBoxen in einer Schleife umsetzen kannst. Nehmen wir an, Du hast 25 TextBoxen:

Private Sub Test()
    Dim n As Long
    For n = 1 To 25
        If Not IsDate(Me.Controls("TextBox" & CStr(n)).Value) Then
            MsgBox "No valid date in TextBox" & n
            Exit For
        End If
    Next n
End Sub

Diese Funktion überprüft jede TextBox auf ein gültiges Datum und gibt eine entsprechende Meldung aus, wenn die Eingabe nicht korrekt ist.


Tipps für Profis

  • Verwende Error-Handling: Implementiere eine Fehlerbehandlung, um unerwartete Eingaben abzufangen und den Benutzer zu informieren.
  • Fülle Eingaben automatisch aus: Wenn Du oft ähnliche Daten eingibst, kannst Du VBA verwenden, um die Eingaben in den TextBoxen automatisch zu füllen.
  • Füllmenge überwachen: Du kannst zusätzlich die Füllmenge der TextBoxen überwachen, um sicherzustellen, dass sie nicht leer bleiben, bevor Du den Speichern-Button klickst.

FAQ: Häufige Fragen

1. Kann ich die Überprüfung auch für andere Eingabetypen verwenden?
Ja, Du kannst die Logik anpassen, um auch andere Datentypen wie Zahlen oder Texte zu überprüfen, indem Du die Funktion IsDate durch IsNumeric oder ähnliche Funktionen ersetzt.

2. Wie kann ich die Anzahl der TextBoxen dynamisch festlegen?
Anstatt eine fixe Anzahl zu verwenden, kannst Du die Anzahl der TextBoxen dynamisch ermitteln, indem Du die Controls-Sammlung durchläufst und nach dem Typ TextBox filterst.

3. Ist dieser Code mit Excel 2016 kompatibel?
Ja, der bereitgestellte Code sollte in Excel 2016 und den meisten anderen Versionen von Excel, die VBA unterstützen, funktionieren.

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