Textbox auf Anzahl der Zeichen prüfen - Druckversion +- Office-Fragen.de (https://office-fragen.de) +-- Forum: Microsoft Office (https://office-fragen.de/forum-1.html) +--- Forum: Excel (https://office-fragen.de/forum-2.html) +--- Thema: Textbox auf Anzahl der Zeichen prüfen (/thread-20664.html) |
Textbox auf Anzahl der Zeichen prüfen - StefKe - 02.06.2021 Code: Private Sub Pg2txtSollkonto_AfterUpdate() Guten Morgen allerseits, nach dem Verlassen einer Textbox per Tab-Taste soll die Anhzahl der Zeichen auf 4 geprüft werden. Falls die Bedingung nicht erfüllt ist wird der Text markiert. Leider springt bei obigem Code der Cursor nach dem Verlassen der Textbox per Tab-Taste in die nächste Textbox ohne den Text zu markieren. Wo ist der Fehler? Danke Stefan RE: Textbox auf Anzahl der Zeichen prüfen - Flotter Feger - 02.06.2021 Hallo, das Event, das du suchst, heißt ... Code: _BeforeUpdate() RE: Textbox auf Anzahl der Zeichen prüfen - StefKe - 02.06.2021 Hallo Sabina, das klingt gut.... passt aber trotzdem nicht. Code: Private Sub Pg2txtSollkonto_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) Der Cursor springt trozdem in die nächste Textbox und der Text wird auch nicht markiert. Laut MS-Hilfe: Zitat:Wenn Sie das Abbrechen-Argument auf True festlegen, bleibt der Fokus auf dem Steuerelement, und weder das AfterUpdate-Ereignis noch das Exit-Ereignis tritt ein. Evtl. ist das die Ursache? Wie wird Cancel auf True gesetzt? Cancel = True? An welcher Stellle im Code? Danke Stefan RE: Textbox auf Anzahl der Zeichen prüfen - StefKe - 02.06.2021 Hm, die Msg-Box ist das Problem. Cancel = True und die Msg-Box deaktiviert: dann läuft der Code so wie er sollte. Vielleicht fällt mir noch eine Lösung eine wie es mit Msg-Box funzt.... RE: Textbox auf Anzahl der Zeichen prüfen - RPP63 - 03.06.2021 Moin! Ich würde das Exit-Event nehmen: Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) With TextBox1 If Len(.Text) <> 4 Then MsgBox "Die Kontobezeichnung besteht aus 4 Zahlen!" & vbNewLine & _ .Text & " besteht aus " & Len(.Text) & " Zeichen!" Cancel = True .SelStart = 0 .SelLength = Len(.Text) End If End With End Sub Gruß Ralf |