Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1828to1832
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Text-Ausrichtung in Shape

VBA Text-Ausrichtung in Shape
16.05.2021 13:55:34
W
Hallo Forum,
ich brauche wieder einmal die Unterstützung von Profis.
Ich habe eine Shape "Type:=msoShapeActionButtonCustom" erstellt. Jetzt möchte ich den Text darin noch ausrichten.
Bisher habe ich folgende Einstellungen vorgenommen:
.TextFrame2.HorizontalAnchor = msoAnchorCenter
.TextFrame2.VerticalAnchor = msoAnchorMiddle
Allerdings ist es mir bisher nicht gelungen, einen mehrzeiligen Text so auszurichten, dass die Worte pro Zeile zentriert sind; alle Zeilen sind linksbündig ausgerichtet.
Welche Option muss ich setzen, um dieses Ziel zu erreichen?
Bild davon: Userbild
Gruß
Werner

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Text-Ausrichtung in Shape
16.05.2021 14:35:01
Dieter(Drummer)
Hllo Werner,
ichgehöre nicht zu den Spezialisten, aber evtl hilft dir das schon weiter.
Diesen Teil mal ersetzen:
  • .VerticalAnchor = msoAnchorMiddle

  • .VerticalAnchor = msoAnchorMiddle

  • Sonst habe kann ich nicht weiter helfen.
    Gruß, Dieter(Drummer)
    PS In Excel 2010 klappte es.
    AW: Sorry Werner, war Blödsinn ... owT
    16.05.2021 14:39:18
    Dieter(Drummer)
    AW: Sorry Werner, war Blödsinn ... owT
    16.05.2021 15:50:06
    W
    Hallo Dieter.
    ich habe mir Deine Antwort mindestens 10 mal angeschaut, und habe gesucht, wo der Unterschied zwischen alt und neu sein sollte.
    Bin erst jetzt wieder "Online".
    Gruß und trotzdem "Danke"
    Werner
    AW: VBA Text-Ausrichtung in Shape
    16.05.2021 14:43:33
    Jowe
    Hallo Werner,
    versuch mal:
    
    Sub testCenterTextt()
    Dim shp As Shape
    Dim myText As String
    Dim myTLenght As Long
    myText = "Hi," & vbCr & "mein Freund" & vbCr & "wie geht's Dir?"
    myTLength = Len(myText)
    With ActiveSheet
    Set shp = .Shapes.AddShape(msoShapeActionButtonCustom, 50, 30, 60, 60)
    End With
    With shp
    .TextFrame2.TextRange.Text = myText
    .TextFrame2.TextRange.Characters(1, myTLength).ParagraphFormat.Alignment = msoAlignCenter
    End With
    End Sub
    
    Gruß
    Jochen
    Anzeige
    AW: VBA Text-Ausrichtung in Shape
    16.05.2021 16:12:41
    W
    Hallo Jochen,
    Danke, das war der richtige Hinweis.
    Zuerst hatte ich die Zeile
    .TextFrame2.HorizontalAnchor = msoAnchorCenter
    entfernt, und danach die von Dir vorgeschlagene Zeile
    .TextFrame2.TextRange.Characters(1, myTLength).ParagraphFormat.Alignment = msoAlignCenter
    eingefügt.
    Jetzt bin ich mit dem Ergebnis zufrieden. So hatte ich mir das vorgestellt.
    Ich habe versucht, den neuen Befehl zu verstehen, besonders ".Characters(1, myTLength)." verstehe ich nicht ganz, da die Variable mytLength zum Zeitpunkt der Ausführung leer ist. Googel kennt den Begriff "myTLength" nicht.
    Gruß Werner
    Anzeige
    AW: Gerne, danke für die Rückmeldung
    16.05.2021 17:33:40
    JoWE
    ...weil "myTLength" in meinem Beispiel ja auch eine frei gewählte Variable zur Aufnahme der Zeichenanzahl des Textes im Shape ist. Kann Google also natürlich nicht kennen :=)
    Übrigens:
    "TextFrame2.TextRange.Characters(1, myTLength).ParagraphFormat.Alignment = msoAlignCenter"
    soll den Text ab dem 1. bis zum letzten Zeichen zentriert in das Shape-Element setzen.
    Aber wenn es so funktioniert, ist ja alles prima!.
    Gruß
    Jochen

    301 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige