Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA - Erste Textzeile aus Shape kopieren
#1
Hallo Zusammen,

in der Internetrecherche konnte ich dazu leider keine Lösung finden.

In meiner Arbeitsmappe habe ich ein Rectangle-Shape ("WKA_1"), das mit 2 Zeilen Text gefüllt ist. Durch einen Button soll nun die zweite Zeile im Shape verändert werden, die erste Zeile soll so bleiben wie sie ist.

Mein Gedanke war es die erste Zeile einfach zu kopieren und diese dann mit der veränderten zweiten Zeile wieder einzufügen.

Ich hoffe jemand kann mir helfen wie ich nur die erste Zeile meines Shapes kopieren kann.

Code:
Private Sub CommandButton1_Click()
    Dim Sh As Shape
    Dim Headline As String

    Set Sh = ActiveSheet.Shapes("WKA_1")
    
    ' Hier weiß ich nicht mehr weiter:
    ' Erste Zeile kopieren:
    Headline = Sh.TextFrame.Characters.Text      ' Kopiert mir den ganzen Text

    ' Zeile eins und zwei einfügen:
    Sh.TextFrame.Characters.Text = Headline & vbCrLf & "Fortschrittsgrad: " & Watch_Workpackage.Label57 & "%"

End Sub
Antworten Top
#2
Hallo,

teile den Text doch auf (z. B. mit Left und Instr) und bastel ihn wieder neu zusammen.
Gruß
Michael
Antworten Top
#3
Hier noch eine Alternative:
Code:
Private Sub CommandButton1_Click()
    Dim Sh As Shape
    Dim Headline As String

    Set Sh = ActiveSheet.Shapes("WKA_1")
    
    ' Hier weiß ich nicht mehr weiter:
    ' Erste Zeile kopieren:
    Headline = Sh.TextFrame.Characters.Text      ' Kopiert mir den ganzen Text

    ' Zeile eins und zwei einfügen:
    Sh.TextFrame.Characters.Text = Split(Headline, vbLf)(0) & vbLf & "Fortschrittsgrad: " & Watch_Workpackage.Label57 & "%"

End Sub
Gruß
Michael
[-] Folgende(r) 1 Nutzer sagt Danke an Der Steuerfuzzi für diesen Beitrag:
  • Mr.Invisible
Antworten Top
#4
(04.09.2018, 09:18)Der Steuerfuzzi schrieb: Hier noch eine Alternative:

DU BIST MEIN HELD  :15:
Antworten Top


Gehe zu:


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