Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
768to772
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
768to772
768to772
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige