Hallo Zusammen,
in einer Tabelle werden per Formel verschiedene kurze Texte eingefügt. Textumbruch ist aktiviert, so dass 2 Zeilen genutzt werden können. Wird der Text jedoch auf 3 oder mehr Zeilen umgebrochen, so reicht die Zeilenhöhe zur Darstellung nicht aus. In diesem Fall möchte ich die Schriftgröße verkleinern. Am liebsten über (bedingte) Formatierung, wenn es sein muss über VBA.
Leider erlaubt Excel aber nicht parallel "Textumbruch" und "An Zellgröße anpassen" in der Zellformatierung.
Eine bedingte Formatierung mit Formel "Länge()" funktioniert nicht, weil je nach Breite der einzelnen Buchstaben ein gleichlanger Text mal passt und mal nicht.
Ich müsste als entweder die Gesamtlänge des Textes in der gewählten Schrift und Zoomlevel der Zelle abfragen, oder die Anzahl der genutzten Zeilen.
Für die Textbreite habe ich das hier im Forum gefunden, es funktioniert aber nicht mit der 64 bit Version: https://www.herber.de/forum/archiv/1264to1268/1265137_Textbreite_mit_GetTextExtentPoint_bestimmen.html
Für die Zeilenhöhe habe ich überlegt, EntireRow.AutoFit auszuführen, und dann zu überprüfen, ob sich die Zeilenhöhe geändert hat. Allerdings würde das ein ziemlich unruhiges Bild ergeben und ich weiß trotzdem nur, dass es ein Problem in der Zeile gibt, aber nicht, in welcher. Alternativ könnte ich die verwendeten Texte einzeln auf einem versteckten Blatt im Hintergrund prüfen, das würde aber wahrscheinlich einen spürbaren Lag erzeugen.