Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Texboxen prüfen ob Wert enthalten
02.04.2014 16:46:26
ANNAnas
Hallo Community,
ich habe 2 Ereignisse, die auf eine Textbox zugreifen.
Die erste Routine prüft, ob die Texboxen gefüllt sind. Die andere ist die Suchroutine.

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
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
Beides funktioniert nur teilweise. Die Suche funktioniert nämlich auch, wenn eine Texbox leer ist. Kann man das ganze miteinander verknüpfen?
Vielen Dank :)

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

Betreff
Datum
Anwender
Anzeige
AW: Texboxen prüfen ob Wert enthalten
02.04.2014 18:02:21
Oberschlumpf
Hi Anna?
Verschieb den folgenden Code in ein allgemeines Modul:

Function fcNoEmpty() As Boolean
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
fcNoEmpty = True
Exit Function
End If
End If
Next
End Function

und schreib ins Exit-Ereignis anstelle des obigen Codes:

Private Sub TextBox27_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If fcNoEmpty = True Then
Exit Sub
End If
End sub

Nun schreib noch ins KeyPress-Ereignis diesen Code:

Private Sub TextBox27_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If fcNoEmpty = True Then
Exit Sub
End If
'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

Hilfts?
Wenn nicht, zeig bitte eine Bsp-Datei inkl. Userform + allen erforderlichen Controls.
Ciao
Thorsten

Anzeige
AW: Texboxen prüfen ob Wert enthalten
03.04.2014 10:48:38
ANNAnas
Hey Thorsten,
deine Lösung ist grandios und erfüllt meine wünsche zu 100% :D
Ich danke dir so sehr :)
LG

dann lass den Beitrag nicht offen!!!!!!
03.04.2014 15:22:23
robert

322 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige