Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1352to1356
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
Prüfen ob alle Textboxen gefüllt
02.04.2014 11:48:59
ANNAnas
Hallo Community,
habe folgenden Code:
Private Sub TextBox27_Enter()
Dim objtxt As Object
For Each objtxt In UserForm1.Controls
If TypeName(objtxt) = "TextBox" Then
If objtxt.Value = "" Then
MsgBox " Es wurden nicht alle Textfelder ausgefüllt.!", 48
objtxt.SetFocus
Exit Sub
End If
End If
Next
Nun soll eigentlich die MsgBox anspringen...das passiert leider nicht. Statdessen kommt ein Compilerfehler. Kann mir da einer vielleicht helfen?
Danköööö :)
LG

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfen ob alle Textboxen gefüllt
02.04.2014 11:53:03
Hajo_Zi
benutze das Ereignis Exit.

AW: Prüfen ob alle Textboxen gefüllt
02.04.2014 12:01:00
ANNAnas
Das ist doch an dieser Stelle bereits vorhanden:
Private Sub TextBox27_Enter()
Dim objtxt As Object
For Each objtxt In UserForm1.Controls
If TypeName(objtxt) = "TextBox" Then
If objtxt.Value = "" Then
MsgBox " Es wurden nicht alle Textfelder ausgefüllt.!", 48
objtxt.SetFocus
Exit Sub
End If
End If
Next
End Sub

AW: Prüfen ob alle Textboxen gefüllt
02.04.2014 12:03:45
Hugo

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim objtxt As Object
For Each objtxt In UserForm1.Controls
If TypeName(objtxt) = "TextBox" Then
If objtxt.Value = "" Then
MsgBox " Es wurden nicht alle Textfelder ausgefüllt.!", 48
objtxt.SetFocus
Exit Sub
End If
End If
Next
End Sub

Anzeige
Bei Dir natürlich TextBox27 (und nicht 2)...oT
02.04.2014 12:04:19
Hugo
...

AW: Prüfen ob alle Textboxen gefüllt
02.04.2014 12:22:19
Hajo_Zi
ich sehe da nur das Enter Ereignis.
Gruß Hajo

AW: Prüfen ob alle Textboxen gefüllt
02.04.2014 12:00:41
Hugo
Hallo,
unabhängig davon, dass Exit sicher das geeignetere Ereignis ist, beantwortet Dir Hajo damit nicht Deine eigentliche Frage.
Aber es ist auch schnell geschrieben: Der Code läuft - aber Du muss am Ende natürlich noch End Sub hinzufügen - das Fehlen führt zum Kompilierungsfehler.
Gruß
Hugo

AW: Prüfen ob alle Textboxen gefüllt
02.04.2014 13:02:42
ANNAnas
Danke Hugo :)
nun kommt aber der Laufzeitfehler 2110: Fokus kann nucgt azf das Steuerelement gesetzt werden. Es ist unsichtbar, nicht aktiviert oder von einem Typ der keinen Fokus akzeptiert.
Das bezieht sich auf die selbe Textbox, wo auch die Überprüfung stattfindet. In dieser habe ich aber auch folgenden Code für die Suche:
Private Sub TextBox27_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
'Hier wird die Suche in der Tabelle für den Schuss erstellt
If KeyCode = 13 Then
Dim liSuche As Integer, liMsg As Integer, liSuche1 As Integer
For liSuche = 0 To ListBox1.ListCount - 1
For liSuche1 = 0 To ListBox1.ColumnCount - 1
If InStr(1, ListBox1.Column(liSuche1, liSuche), TextBox27.Text) > 0 Then
ListBox1.ListIndex = liSuche
liMsg = MsgBox("Weitersuchen?", vbQuestion + vbYesNo)
If liMsg = vbNo Then Exit Sub
End If
Next
Next
End If
End Sub

Anzeige
AW: Prüfen ob alle Textboxen gefüllt
02.04.2014 13:13:19
ANNAnas
Also vom Prinzip her sollen beide Ereignisse miteinander verknüpft werden:
Private Sub TextBox27_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
'Hier wird die Suche in der Tabelle für den Schuss erstellt
If KeyCode = 13 Then
Dim liSuche As Integer, liMsg As Integer, liSuche1 As Integer
For liSuche = 0 To ListBox1.ListCount - 1
For liSuche1 = 0 To ListBox1.ColumnCount - 1
If InStr(1, ListBox1.Column(liSuche1, liSuche), TextBox27.Text) > 0 Then
ListBox1.ListIndex = liSuche
liMsg = MsgBox("Weitersuchen?", vbQuestion + vbYesNo)
If liMsg = vbNo Then Exit Sub
End If
Next
Next
End If
End Sub
Private Sub TextBox27_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim objtxt As Object
For Each objtxt In UserForm1.Controls
If TypeName(objtxt) = "TextBox" Then
If objtxt.Value = "" Then
MsgBox " Es wurden nicht alle Textfelder ausgefüllt.!", 48
Exit Sub
End If
End If
Next
End Sub
Das heißt, dass die Suche erst dann anläuft, sobald alle Textboxen gefüllt sind.
Habt ihr eine Idee wie ich das umsetzen kann?

Anzeige
AW: Prüfen ob alle Textboxen gefüllt
02.04.2014 16:32:05
Hugo
Hallo,
irgendwie ist das alles Stückwerk.
Deine Eingangsfrage ist beantwortet damit, dass Du End_Sub vergessen hast:
Private Sub TextBox27_Enter()
Dim objtxt As Object
For Each objtxt In UserForm1.Controls
If TypeName(objtxt) = "TextBox" Then
If objtxt.Value = "" Then
MsgBox " Es wurden nicht alle Textfelder ausgefüllt.!", 48
objtxt.SetFocus
Exit Sub
End If
End If
Next
End Sub

Eröffnen besser einen neuen Thread für weitere Wünsche.
Gruß
Hugo

AW: Prüfen ob alle Textboxen gefüllt
02.04.2014 16:40:48
ANNAnas
Ok, und danke nochmals Hugo :)

AW: Prüfen ob alle Textboxen gefüllt
02.04.2014 16:41:37
ANNAnas
Closed :)

Anzeige
zu
02.04.2014 17:05:26
robert

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige