HERBERS Excel-Forum - das Archiv

Thema: Textfeld: Text bei Überlauf verkleinern

Textfeld: Text bei Überlauf verkleinern
fairplay1986
Hallo zusammen,

ich bin neu hier und hoffe auf Hilfe.

Wenn ich in PowerPoint ein Textfeld einfüge, kann ich bei den Textoptionen "Text bei Überlauf verkleinern" auswählen und die Schriftgröße passt sich automatisch dem Textfeld an.

Nun hatte ich gehofft, dass es die gleiche Funktion auch beim Einfügen eines Textfeldes in Excel gibt.

Dies ist aber leider nicht der Fall.

Gibt es eine alternative Möglichkeit, dass das Textfeld immer gleich groß bleibt und nur die Textgröße automatisch verkleinert wird.

Ich hatte schon gesehen, dass man innerhalb einer Zelle "An Zellgröße anpassen" auswählen kann, dies aber nicht in Kombination mit einem "Textumbruch" funktioniert.

Ich suche also nach einer Möglichkeit die nahezu identisch zur PowerPoint-Variante "Text bei Überlauf verkleinern" funktioniert.

Wer kann mir weiterhelfen?

Vielen Dank im Voraus für eure Unterstützung.

Beste Grüße

fairplay1986
AW: Textfeld: Text bei Überlauf verkleinern
STeve
Hallo Fairplay

Mit einem VBA-Makro kannst du das Verhalten nachbilden, indem du die Schriftgröße automatisch an den Textfeldinhalt anpasst.

Hier ist ein Beispiel für ein VB - Code:
In ein Modul einfügen.


Sub Schriftgroesse_an_Textfeld_anpassen()
Dim shp As Shape
Dim txtWidth As Double
Dim txtHeight As Double
Dim fontSize As Double

' Wähle das Textfeld aus
Set shp = ActiveSheet.Shapes("Textfeld 1") ' Passe den Namen an

' Starte mit einer mittelgroßen Schriftgröße
fontSize = 32
shp.TextFrame2.TextRange.Font.Size = fontSize

' Hole die Größe des Textfeldes
txtWidth = shp.Width
txtHeight = shp.Height

' Verkleinere die Schriftgröße, bis der Text passt
Do While shp.TextFrame2.TextRange.BoundWidth > txtWidth Or _
shp.TextFrame2.TextRange.BoundHeight > txtHeight
fontSize = fontSize - 1
If fontSize < 1 Then Exit Do
shp.TextFrame2.TextRange.Font.Size = fontSize
Loop
End Sub





Befülle dein Textfeld in Excel mit dem Text

Schau in der Namensleiste (links oben) nach dem Namen (z. B. Textfeld 1) und passe den Namen im Makro entsprechend an.
Makro ausführen
Das Makro reduziert die Schriftgröße, bis der Text ins Textfeld passt.

lg