Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Textbox Inhalt nach Einfügen formatieren

Betrifft: Textbox Inhalt nach Einfügen formatieren von: Sergej
Geschrieben am: 17.10.2020 22:26:55

Hallo Leute,

ich muss sehr oft für eine Anwendung die Koordinate (XYZ) aus einer Datei in die Zwischenablage kopieren.
Die kopierte Zeile sieht beispielsweise so aus: 500231.74 -799.10 17844.00

In einem UserForm habe ich ein Textbox erstellt.

Wie bekomme ich es bitte hin, dass beim Einfügen des Textes aus der Zwischenablage in das TextBox1 der Gesamtinhalt von TextBox 1 so formatiert wird.

Fester Text "zoom in 4;xy=" vorne, danach zwischen kopierten Koordinaten die Leerzeichen durch Komma ersetzen und am Ende kommt nochmals fester Text ";rotate view drag"

Beispiel nachher TextBox1: zoom in 4;xy=500231.74,226.90,16577.48;rotate view drag

Beste Grüße,
Sergej

Betrifft: AW: Textbox Inhalt nach Einfügen formatieren
von: ralf_b
Geschrieben am: 17.10.2020 22:49:23

im textbox1_Change() Event oder vielleicht im afterupdate()

textbox1.text= "zoom in 4;xy=" & textbox1.text & ";rotate view drag"

Betrifft: AW: Textbox Inhalt nach Einfügen formatieren
von: Sergej
Geschrieben am: 17.10.2020 23:13:28

Hallo Ralf,

mit TextBox1_Change() hat es nicht funktioniert.

Ich habe wie von dir vorgeschlagen mit TextBox1_AfterUpdate getestet. Erst beim Klick auf CommandButton1 wird der Text in TextBox1 geändert. Damit kann ich leben, obwohl schön wäre es, wenn ich der Text im TextBox1 beim Einfügen aus der Zwischenablage sich ändern wird.

Das Ersetzen der Leerzeichen durch das Komma hat nicht funktioniert.

Private Sub TextBox1_AfterUpdate()
TextBox1.text = "zoom in 4;xy=" & TextBox1.text.Replace(" ", ",") & ";rotate view drag"
End Sub

Beste Grüße,
Sergej

Betrifft: AW: Textbox Inhalt nach Einfügen formatieren
von: ralf_b
Geschrieben am: 18.10.2020 11:18:33

moin, das Problem beim change-Event ist das es gleich nochmals auftritt wennman den modifizierten Text einfügt. Also müßte man das prüfen. Ich habe es umgebaut.

das hier oben in den codebereich des Userform
Dim bChange As Boolean 
und das erklärt sich selbst
Private Sub TextBox1_Change()
    
    Dim stext As String
    
    If bChange = False Then
    
        If TextBox1.Text Like "*.*-*.*" Then
            
            bChange = True
            stext = TextBox1.Text
            TextBox1.Text = "zoom in 4;xy=" & Replace(stext, " ", ",") & ";rotate view drag"
          
        End If
    End If
End Sub


Betrifft: AW: Textbox Inhalt nach Einfügen formatieren
von: Sergej
Geschrieben am: 18.10.2020 11:43:10

Hallo Ralf,

vielen herzlichen Dank! Es funktioniert perfekt.

Beste Grüße,
Sergej

Betrifft: freut mich ,danke für die Rückmeldung owT
von: ralf_b
Geschrieben am: 18.10.2020 11:51:33



Beiträge aus dem Excel-Forum zum Thema "Textbox Inhalt nach Einfügen formatieren"