Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Textgröße an Zelle anpassen

Textgröße an Zelle anpassen
30.08.2017 13:58:15
Simon
Hallo Leute :D
Ich habe wieder folgendes Problem mit Excel:
Ist es möglich über VBA den Text in einer Zelle so anzupassen das sich die Textgröße automatisch ändert.
Manchmal ist so viel Text in einer Zelle, dass dieser am Ende nicht mehr sichtbar ist.
Gibt es per VBA die Möglichkeit, die Grösse der Schrift so anzupassen, dass immer der komplette Text in die Textbox passt ? Also je mehr Text, um so kleiner die Schriftgrösse.
(BITTE NICHT ÜBER DIE MÖGLICHKEIT Zellen formatieren - Ausrichtung - An Zellgröße anpassen)
Gruß, Simon
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textgröße an Zelle anpassen
30.08.2017 16:09:43
yummi
Hallo Simon,
Cells(reihe,spalte).ShrinkToFit = True
Gruß
yummi
Event-Makro, aber warum?
30.08.2017 16:23:10
KlausF
Hallo Simon,
man könnte ein Event-Makro schreiben, dass immer dann automatisch ausgeführt wird,
wenn Du z.B. etwas in eine Zelle schreibst. Dieses Makro müsste man so schreiben,
dass es entweder gelten würde
für alle Zellen im Blatt
für einen zusammen hängenden Zellbereich
für einzelne Spalten oder Zeilen
für einzelne nicht zusammen hängende Zellen
für eine Kombination dieser Auswahlen
In jedem Falle müsste aber der Bereich vorher geklärt sein.
Da stellt sich die Frage, wieso Du nicht An Zellgröße anpassen nutzen willst?
Das ist mV der einfachste und schnellste Weg. Hier ist also ein Makro völlig überflüssig.
Es sei denn, Du findest noch eine überzeugende Erklärung ...
Gruß
Klaus
Anzeige
Begründung
31.08.2017 14:45:49
Simon
Danke für deine schnelle Antwort jedoch hilft mir der klein Makro leider nichts da er die Schriftgröße nur optisch verändert und nicht umstellt.
Zu meiner Begründung:
Ich habe mein Excel-File mit einer Word-Datei verknüpft und diese Word-File holt sich bestimmte Daten aus der Excel-File automatisch. Jedoch habe ich im Word nur einen kleinen Bereich frei den ich im Excel wie im Word festgelegt habe. Nun wird jedoch wenn man das Tool an Zellgröße anpassen verwendet nicht wirklich der Text verkleinert sondern nur optisch an die Tabelle angepasst, somit ist der Text nur in der Tabelle kleiner und nicht kleiner formatiert.
Anzeige
nur Workaround
31.08.2017 18:38:18
KlausF
Hi Simon,
mir fällt da nur eine Krücke ein (falls hier nicht noch jemand eine zündende Idee dazu hat).
Mit diesem Makro
Sub FontMinus()
With ActiveCell
If .Value  "" Then .Font.Size = .Font.Size - 1
End With
End Sub
wird der Schriftgrad immer 1 pt kleiner gemacht. Du müsstest also mehrmals hintereinander
den Button drücken und Dich an das Ergebnis ran tasten. Man könnte das Makro auch auf einen
Tastaturbefehl legen, dann geht es relativ schnell. Wenn der Finger einmal zu schnell gewesen
ist könntest Du dann mit diesem Makro gegen steuern:
Sub FontPlus()
With ActiveCell
If .Value  "" Then .Font.Size = .Font.Size + 1
End With
End Sub
Wie schon gesagt, nur eine Krücke. Vielleicht hilft es ja trotzdem ...
Gruß
Klaus
Anzeige
AW: nur Workaround
01.09.2017 07:44:59
Simon
Hallo, danke nochmals für deine Antwort diese Methode hilft mir nicht direkt weiter ist aber denke ich mal ein sehr guter Ansatz.
Ich hätte noch eine Idee. Kann man vielleicht einen Makro schreiben wenn eine bestimmte Anzahl von Buchstaben erreicht wurde dann z.B.: Schriftgröße um 10 verringern. Ich denke mal so würde es vielleicht klappen. :D
Gruß Simon
Anzeige
AW: nur Workaround
01.09.2017 08:39:38
yummi
Hallo Simon,

Sub FontMinus()
With ActiveCell
If Len(.Value) > 10 Then
.Font.Size = .Font.Size - 10
Else
If .Value  "" Then .Font.Size = .Font.Size - 1
End If
End With
End Sub
Gruß
yummi
AW: nur Workaround
01.09.2017 09:09:07
Simon
Danke dieser Makro hilft mir weiter.
Kann man diesen vielleicht umschreiben das dieser Makro in bestimmten Spalten und Zeilen ausgeführt wird?
Anzeige
AW: nur Workaround
01.09.2017 11:53:57
yummi
Hallo Simon,
ja kann man.
Das Makro gehört dann in den Code des Tabellenblattes als Worksheet_Change
Dann fragst Du dort folgendes ab:

if target.column = 3 then 'für Spalte C musst Du auf deinen Bereich anpassen also Target.Column  _
>= 3 and Target.Column  10 Then
.Font.Size = .Font.Size - 10
Else
If .Value  "" Then .Font.Size = .Font.Size - 1
End If
End With
End If
End if
Gruß
yummi
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Textgröße an Zelle anpassen in Excel


Schritt-für-Schritt-Anleitung

Um die Schriftgröße in Excel automatisch an die Zelle anzupassen, kannst Du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke im Projekt-Explorer mit der rechten Maustaste auf das Arbeitsblatt, in dem Du die Schriftgröße anpassen möchtest.

  3. Wähle Code anzeigen.

  4. Füge den folgenden Code in das Fenster ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Cells.Count = 1 Then
           With Target
               .ShrinkToFit = True
               If .Value <> "" Then
                   If Len(.Value) > 20 Then
                       .Font.Size = .Font.Size - 2
                   End If
               End If
           End With
       End If
    End Sub
  5. Schließe den VBA-Editor und teste die Anpassung, indem Du Text in eine Zelle eingibst.


Häufige Fehler und Lösungen

  • Problem: Die Schriftgröße ändert sich nicht.

    • Lösung: Stelle sicher, dass das Makro aktiviert ist und dass Du in der richtigen Zelle arbeitest.
  • Problem: Der Text wird nicht vollständig angezeigt.

    • Lösung: Überprüfe die Zellenformatierung und stelle sicher, dass die Option „Zellgröße anpassen“ aktiviert ist.

Alternative Methoden

Falls Du keine VBA-Lösungen verwenden möchtest, kannst Du auch die Zellenformatierung nutzen:

  1. Markiere die Zelle oder den Zellbereich.
  2. Rechtsklicke und wähle Zellen formatieren.
  3. Gehe zum Tab Ausrichtung.
  4. Aktiviere die Option „Text an Zelle anpassen“.

Diese Methode passt den Text automatisch an die Zelle an, nutzt jedoch nicht die automatische Schriftgrößeneinstellung.


Praktische Beispiele

  • Beispiel 1: Wenn der Text in einer Zelle mehr als 20 Zeichen hat, wird die Schriftgröße um 2 Punkt verringert.
  • Beispiel 2: Für eine Zelle, die mit einer Word-Tabelle verknüpft ist, kannst Du sicherstellen, dass die Schriftgröße klein genug ist, um in den verfügbaren Platz zu passen.

Hier ist ein Beispiel für VBA, um die Schriftgröße bei einer bestimmten Anzahl von Buchstaben zu verringern:

Sub FontMinus()
    With ActiveCell
        If Len(.Value) > 10 Then
            .Font.Size = .Font.Size - 10
        Else
            If .Value <> "" Then .Font.Size = .Font.Size - 1
        End If
    End With
End Sub

Tipps für Profis

  • Experimentiere mit unterschiedlichen Schriftschnitten und -größen, um die beste Lesbarkeit zu erreichen.
  • Verwende bedingte Formatierung, um visuelle Hinweise für Zellen zu schaffen, deren Inhalt nicht vollständig angezeigt wird.
  • Denke daran, dass die Schriftgröße in Excel nicht nur das Aussehen beeinflusst, sondern auch die Druckansicht und die Lesbarkeit in Word.

FAQ: Häufige Fragen

1. Wie kann ich die Schriftgröße in Excel automatisch an die Zellgröße anpassen?
Du kannst VBA verwenden, um die Schriftgröße automatisch zu ändern, wenn der Text länger wird. Siehe die Schritt-für-Schritt-Anleitung oben.

2. Ist es möglich, die Schriftgröße für mehrere Zellen gleichzeitig anzupassen?
Ja, Du kannst den VBA-Code so anpassen, dass er für einen Bereich von Zellen gilt, anstatt nur für eine einzelne Zelle.

3. Funktioniert das auch in älteren Excel-Versionen?
Die VBA-Methoden sollten in den meisten modernen Versionen von Excel funktionieren, jedoch kann die Benutzeroberfläche leicht abweichen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige