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

Alle TextFelder im UserForm überprüfen ob Wert

Forumthread: Alle TextFelder im UserForm überprüfen ob Wert

Alle TextFelder im UserForm überprüfen ob Wert
05.06.2006 18:44:16
Matthias
Hallo Forum,
ich habe auf einem UserForm relativ viele TextFelder. In all diese Textfelder werden Zahlenwerte eingetragen und diese Daten werden dann in einer Berechnung verwendet. Wenn jetzt in ein Textfeld kein Wert eingetragen wird und man startet die Berechnung, dann steigt logischerweise der Compiler aus.
Ich habe gehofft, es gibt vielleicht irgendeinen Befehl, mit dem zunächst alle Textfelder in dem UserForm überprüft werden, ob sie einen Wert enthalten. Und wenn Textfelder dabei sind, die leer sind, dann Wird die Berechnung erstmal nicht gestartet, sondern eine Fehlermeldung gebracht.
Vielleicht gibt's das auch noch mit der Einschränkung, das nur die Textfelder auf einer Seite einer MultiPage überprüft werden.
Vielen Dank schon mal.
Gruß.
Matthias
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Alle TextFelder im UserForm überprüfen ob Wert
05.06.2006 19:39:15
Peter W
Servus,
eine von zig Möglichkeiten.


Option Explicit
Private Sub UserForm_Click()
Dim myArr(), intNum As Integer
Dim ctrl As Control
Dim bolBerech As Boolean
bolBerech = True
myArr = Array(1, 2, 4) 'Textbox Nummern Anpassen !
On Error Resume Next
For Each ctrl In Me.Controls
    If TypeOf ctrl Is MSForms.TextBox Then
        intNum = --Right(ctrl.Name, IIf(Len(ctrl.Name) = 8, 1, 2))
        If IsError(Application.WorksheetFunction.Match(intNum, myArr, 0)) Then
            GoTo weiter
        Else
            bolBerech = bolBerech * istZahl(ctrl)
            If bolBerech = False Then Exit For
        End If
    End If
weiter:
Next
If bolBerech = False Then MsgBox "Keine Berechnung möglich !"
End Sub
Private Function istZahl(myCtrl As MSForms.Control) As Boolean
On Error Resume Next
istZahl = myCtrl.Value * 1
End Function


"Man muß Gott für alles danken, sogar für Ober- ,Mittel- und Unterfranken"


Anzeige
AW: Alle TextFelder im UserForm überprüfen ob Wert
05.06.2006 20:37:57
Matthias
Hi,
vielen Dank für Deine Hilfe.
Ich hab jetzt Deinen Quelltext in den CommandButton kopiert, mit dem die Berechnung gestartet wird. Der Compiler steigt zwar nicht aus aber irgendwas passt noch nicht ganz.
Zunächstmal kommt die Fehlermeldung auch dann, wenn ich in allen Textfeldern einen Wert habe.
Und was sind das für Ziffern bei..

myArr = Array(1, 2, 4) 'Textbox Nummern Anpassen !

Wo find ich die?
Was ist "Me.Controls"?
Was bewirkt das hier, "IIf(Len(Ctrl.Name) = 8, 1, 2)"?
Und was macht die Function eigentlich?
Sorry, dass ich so viele Fragen stellen muss aber ich blick noch nicht ganz durch.
Vielen Dank.
Gruß
Matthias
Anzeige
AW: Alle TextFelder im UserForm überprüfen ob Wert
05.06.2006 21:18:03
K.Rola
Hallo,
quick and dirty
Option Explicit
Private Sub CommandButton1_Click()
Dim c As Control, a As Double
''Den Namen des Multipage ggf. anpassen
''Pages(0) ist die erste Seite, ggf. anpassen
For Each c In MultiPage1.Pages(0).Controls
If TypeName(c) Like "Text*" Then
On Error Resume Next
a = c * 1
If Err <> 0 Or InStr(c.Text, ".") > 0 Then
MsgBox c.Name & " enthält keine Zahl!" & Space(10), 64, "Weise hin..."
Exit Sub
End If
End If
Next
End Sub

Gruß K.Rola

Es gibt keine Sünde außer der Dummheit.

Oscar Wilde


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

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