Das Clever-Excel-Forum.de - Treffen
... 14.-16. September 2018 im Allgäu ...

Markierung in einer Multiline Textbox durch Leerzeichen ersetzen
#1
Liebe Leute,
ich bräuchte für meine Textboxen nochmal eure Expertenhilfe. Ich habe in meiner TextBox im Multiline-Modus mehrere Sätze untereinander stehen. Jetzt möchte ich folgendes machen: ich markiere mit der linken Maustaste irgendwo einen beliebigen Text.

Für die weitere Verarbeitung habe ich ein Keyup Unterprogramm in meine Userform geschrieben:
Code:
Sub TextBox4_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

Select KeyCode

Case 19 ' Pause Taste
'? gesuchter Code um Markierung durch Leerzeichenstring zu ersetzen

End Select
End Sub
Mit der Pausen Taste soll jetzt die ausgewählte Markierung durch Leerzeichen ersetzt werden. Dabei soll die Länge des Leerzeichenstrings der zuvor ausgewählten Markierungslänge entsprechen.
Wie lautet dafür der VBA Code?

Viele Dank für eure Mühe im voraus.
to top
#2
Hallo sotaros,

nimm wie beim letzten Mal besser KeyDown:

Code:
Public Sub TextBox4_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  Select Case KeyCode
    Case 19 ' Pause Taste
      With TextBox4
        If Asc(Right(.SelText, 1)) = 13 Then
          .SelText = String(Len(.SelText) - 1, " ") & Chr(13)
        Else
          .SelText = String(Len(.SelText), " ")
        End If
      End With
      KeyCode = 0

Gruß Uwe
to top
#3
Hallo Uwe,

vielen Dank für den toll funktionierenden Code.
to top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste