Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1400to1404
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
IsNumeric in einer Schleife
06.01.2015 23:58:31
Mii
huhu ich hoffe einer kann mir helfen
Ich möchte eine Reihe von Textboxen (TB2_1 , TB2_2, ...) in einer Schleife auf nummerischen Inhalt prüfen. Wenn eine leer ist, oder Buchstaben eingetragen werden soll eine Fehlermeldung erscheinen sowie die entsprechende Textbox ihre Farbe wechseln und fokussiert werden. Werden Zahlen eingetragen dann diese speichern.
Einzeln bekomme ich es hin:
If Not IsNumeric(TB2_1.Value) Then
MsgBox "nummerischer Wert benötigt", vbInformation
TB2_1.SetFocus
TB2_1.BackColor = &HFF&
Exit Sub
Else
TB2_1.BackColor = &H8000000E
End If
Aber alle meine Versuche dies in eine Schleife einzubinden mit wahren mist
hat einer eine Lösung?

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: IsNumeric in einer Schleife
07.01.2015 02:08:31
Ewald
Hallo,
Textboxen sollten nach der Eingabe überprüft werden und nicht mit einer Schleife am Ende
Wenn ich Textbox30 ausgefüllt habe, und dann kommen zig Msgboxen weil die Eingaben falsch sind, dann sagt doch jeder konnte der mir das nicht früher sagen.
Gruß Ewald

AW: IsNumeric in einer Schleife
07.01.2015 05:09:26
Mii
mjoa ich kann die Eingabe von Buchstaben sperren... aber es ist ja auch eine Prüfung ob überhaupt was in der Textbox steht. Ausserdem soll dieser Vorgang nur zum Ändern der Daten in den Boxen dienen. Dazu wird ja auch nur eine Msgbox angezeigt... egal wieviele Boxen falsch befüllt sind.
ich finde die Idee so eig ganz gut.

Anzeige
AW: IsNumeric in einer Schleife
07.01.2015 06:59:40
Hajo_Zi
nur Eingabe von Zahlen.
Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'   Eingaben nur Zahlen
Select Case KeyAscii
Case 48 To 57
Case Else: KeyAscii = 0
End Select
End Sub

AW: IsNumeric in einer Schleife
07.01.2015 07:13:43
Mii
Danke dir.
Aber ist es mit einer Schleife denn nicht möglich?

AW: IsNumeric in einer Schleife
07.01.2015 11:19:06
Matthias
Hallo
Klar geht auch eine Schleife, die Meldung kommt dann erst am Ende
Du brauchst doch nur den Type(TypeName) des Objektes(TextBox) prüfen
Hab Dir mal ein Beispiel erstellt:
https://www.herber.de/bbs/user/94801.xlsm
Gruß Matthias

AW: IsNumeric in einer Schleife
07.01.2015 20:31:19
Mii
super, danke dir.
sieht ja schonmal schön einfach aus ;)
aber so richtig geht es bei mir nicht... wie bringe ich es mit rein, dass nur die Textboxen auf einer Page meiner Multipage angesprochen werden?

If ctrl.Parent.Name = "Page1" Then ...
07.01.2015 23:38:16
Matthias
Hallo
Das geht natürlich auch.
Beispiel: Du hast ne MultiPage1 mit 2 Pages (Page1 und Page2)
Private Sub CommandButton1_Click()
Dim ctrl As Control, x&
For Each ctrl In Me.Controls
If TypeName(ctrl) = "TextBox" Then
If ctrl.Parent.Name = "Page1" Then
If Not IsNumeric(ctrl.Value) Then
ctrl.BackColor = &HFF&
Else
ctrl.BackColor = &H8000000E
End If
End If
End If
Next
MsgBox "Bitte rote Felder mit Zahlen ausfüllen", vbCritical
End Sub
Hier wird also nur in Page1 gefärbt, egal welches Page gerade aktiv ist.
Natürlich kann man das dann noch optimieren,
indem man nur die Textboxobjekte im MultiPage1 durch die Schleife zieht.
Hab ich mir aber jetzt erst mal gespart.
Gruß Matthias

Anzeige
AW: If ctrl.Parent.Name = "Page1" Then ...
08.01.2015 12:52:10
Mii
jo besten Danke
klappt alles super :) hab das "Parent" vergessen

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige