Herbers Excel-Forum - das Archiv

Textbox Prüfung

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
nach unten


Betrifft: Textbox Prüfung
von: Peter

Geschrieben am: 06.09.2019 10:09:49

Hallo,
ich habe eine Userform mit der TextBox2. Diese Textbox ist eingestellt auf Multiline = True und Scrollbars = 2 - fmScrollbarsVertical
Der Code hierfür

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox2.Curline=0
End Sub
Nun möchte ich eine Prüfung einbauen, wenn die Textbox leer ist und verlassen wird
, dass der Text "<>" eingegeben wird und TextBox2 markiert wird.
Ich finde hierzu leider keine Lösung. Könnt ihr mir bitte helfen.
Gruss
Peter

Betrifft: AW: Textbox Prüfung
von: Werner
Geschrieben am: 06.09.2019 10:15:44
Hallo Peter,

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(Me.TextBox2) = 0 Then
Cancel = True
Me.TextBox1 = "<>"
End If
End Sub
Gruß Werner

Betrifft: überall natürlich TexBox2
von: Werner
Geschrieben am: 06.09.2019 10:17:02
Hallo,

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(Me.TextBox2) = 0 Then
Cancel = True
Me.TextBox2 = "<>"
End If
End Sub
Gruß Werner

Betrifft: AW: überall natürlich TexBox2
von: Peter

Geschrieben am: 06.09.2019 10:36:23
Hallo Werner,
besten Dank für Deine Hilfe.
Noch ein kleines Problem.
Ich habe den Code erweitert:
<pre>Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(Me.TextBox2) = 0 Then
Cancel = True
Me.TextBox2 = "<<bitte Vorgang eintragen>>"
Me.TextBox2.SelStart = 0
Me.TextBox2.SelLength = Len(Me.TextBox2)
Exit Sub
End If
If Len(Me.TextBox2) = 27 Then
Cancel = True
Me.TextBox2.SelStart = 0
Me.TextBox2.SelLength = Len(Me.TextBox2)
Exit Sub
End If
End Sub</pre>
Nun markiert die TextBox2 immer. Ich möchte damit erreichen, dass keine weiteren Eingaben gemacht werden können, solange kein Vorgang eingetragen wurde. Das Problem ist jetzt jedoch, dass ich auch sonst keine weiteren Ausführungen machen kann.
Es sind dadurch alle Elemente auf der Userform gesperrt mit Ausnahme der TextBox2.
Wie kann ich erreichen, das bestimmte Commandbutton aktivieret bleiben?
Gruss
Peter

Betrifft: AW: überall natürlich TexBox2
von: Rudi Maintaire
Geschrieben am: 06.09.2019 12:20:10
Hallo,
was soll der Teil?

If Len(Me.TextBox2) = 27 Then
Gruß
Rudi

Betrifft: AW: überall natürlich TexBox2
von: Peter
Geschrieben am: 06.09.2019 12:22:05
Hallo Rudi,
der Text in der Textbox2 lautet "<>" und dieser ist 27 Zeichen lang.
Gruss
Peter

Betrifft: AW: überall natürlich TexBox2
von: Torsten
Geschrieben am: 06.09.2019 12:24:08
Und was machst du, wenn die Eingabe vom User zufaellig auch 27 Zeichen hat?

Betrifft: AW: überall natürlich TexBox2
von: Peter
Geschrieben am: 06.09.2019 13:07:06
Hallo Torsten,
Du hast Recht - habe ich nicht bedacht!
Gruss
Peter

Betrifft: aber ich. owT
von: Rudi Maintaire
Geschrieben am: 06.09.2019 13:07:45

Betrifft: AW: aber ich. owT
von: Peter
Geschrieben am: 06.09.2019 13:16:09
Hallo Rudi,
richtig - Deine Lösung berücksichtigt die 27 richtigen Zeichen.
Siehe bitte auch meine Ausführung an Dich bzw. an Rudi.
Gruss
Peter

Betrifft: AW: überall natürlich TexBox2
von: Werner
Geschrieben am: 06.09.2019 12:31:13
Hallo Peter,
dann frag doch explizit deinen Hinweistext ab:

If Me.TextBox2 = "<>" Then
Gruß Werner

Betrifft: AW: überall natürlich TexBox2
von: Peter

Geschrieben am: 06.09.2019 13:14:06
Hallo Werner,
funktioniert leider nicht so wie ich es möchte.
Es soll immer beim Verlassen die TextBox2 markiert werden, sofern leer oder "<>"
enthalten ist.
Gleichzeitig soll jedoch auch das Beenden der UF bzw. der Button für "Auswahl löschen" möglich sein.
Geht vielleich nur über einen Hilfscode oder hast Du eine andere Idee
Gruss
Peter

Betrifft: AW: Textbox Prüfung
von: Rudi Maintaire
Geschrieben am: 06.09.2019 12:30:25
Hallo,

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Const strMsg As String = "<<Bitte Vorgang eintragen>>"
With TextBox2
Select Case .Text
Case "", strMsg
Cancel = True
.Text = strMsg
.SelStart = 0
.SelLength = Len(.Text)
End Select
End With
End Sub

Gruß
Rudi

Betrifft: AW: Textbox Prüfung
von: Peter

Geschrieben am: 06.09.2019 13:10:27
Hallo Rudi,
besten Dank für Deine Hilfe. Deine Version macht das gleiche wie meine Version.
Es wird die TextBox2 markiert mit dem Text. Aber ein Beenden der Userform ist nicht mehr möglich.
Es muss zuerst irgend ein Text eingegeben werden dann kann Formular geschlossen werden.
Es werden alle Elemente ausser TextBox2 gesperrt.
Gruss
Peter

Betrifft: AW: Textbox Prüfung
von: Rudi Maintaire
Geschrieben am: 06.09.2019 23:28:44
Hallo,
dann musst du die Prüfung auf den OK- und den Beenden-Button legen.
OK wenn leer: "<>" rein und markieren.
Beenden: UF schließen.
Gruß
Rudi

Betrifft: AW: Textbox Prüfung
von: Peter
Geschrieben am: 07.09.2019 13:13:43
Hallo Rudi,
besten Dank für Deine Hilfe.
Wünsche Dir noch ein schönes Wochenende
Gruss
Peter

Excel-Beispiele zum Thema "Textbox Prüfung"
Text aus Textbox in Variable Namen von TextBoxes hochzählen
Text aus Textbox in Zellen aufteilen Nichtnumerische Eingaben in TextBox verhindern
Text aus UserForm-Textbox in Variable einlesen Nur Buchstaben in eine UserForm-TextBox
TextBoxes- und Label-Werte in Abhängigkeit verändern Nur AJM in TextBox akzeptieren und Anzahl zählen
Eingabelänge in TextBox begrenzen und Werte aus Liste übernehmen Artikel aus Auswahltextbox in Sammeltextbox verschieben