Kurzfassung —
WrapText = Trueweist Excel an, langen Text innerhalb der Spaltenbreite auf mehrere Zeilen zu brechen, statt ihn in die nächste Zelle laufen zu lassen. Es formt die Zelle um — aber es macht die Zeile nur höher, wenn die Zeilenhöhe noch auf automatisch steht. Hat ein Makro (oder eine verbundene Zelle) eine ausdrücklicheRowHeightfixiert, bricht der Text unsichtbar um und bleibt abgeschnitten. Um umbrochenen Text wirklich zu sehen, tanzen Sie den Dreischritt: feste Spaltenbreite setzen,WrapTexteinschalten, dannRows.AutoFitaufrufen, damit die Zeile auf die neue Form wächst.
' Umbruch formt die Zelle um; die Zeilenhoehe muss frei sein, um ihn zu zeigen.
Columns("C").ColumnWidth = 40 ' 1) dem Text eine feste Breite zum Umbrechen geben
Range("C2:C100").WrapText = True ' 2) langen Text auf mehrere Zeilen umbrechen
Range("C2:C100").EntireRow.AutoFit ' 3) die Zeilen an den umbrochenen Text wachsen lassen
' Wieder ausschalten:
Range("C2:C100").WrapText = False
WrapText ist der Code-Zwilling der Schaltfläche Zeilenumbruch auf der Registerkarte Start. Ohne ihn
läuft eine lange Beschriftung einfach nach rechts weg, verdeckt in dem Moment, in dem die Nachbarzelle
etwas enthält. Mit ihm faltet sich dieselbe Beschriftung auf zwei oder drei Zeilen und bleibt in ihrer
Spalte. So viel ist von der Schaltfläche her offensichtlich. Was die Schaltfläche verbirgt — und was jedes
Makro stolpern lässt, das versucht, sie zu automatisieren — ist, dass der Umbruch mit der Zeilenhöhe
verstrickt ist, und dass lesbare Ausgabe bedeutet, beide zusammen zu behandeln.
Was Sie lernen
- Das Denkmodell —
WrapTextformt die Zelle um; es ändert den Text nicht - Die eine Regel, die zählt — der Umbruch wächst die Zeile nur, wenn die Höhe auf automatisch steht
- Die dreistufige Abfolge, die umbrochenen Text wirklich sichtbar macht (Breite, Umbruch, AutoFit)
WrapTextgegenüber einem harten Zeilenumbruch (Chr(10)/ Alt+Eingabe)WrapTextzurücklesen, und warum ein gemischter BereichNullzurückgibt- Welche Spalten Sie umbrechen sollten und welche Sie in Ruhe lassen
Das Denkmodell: die Zelle umformen, nicht den Text bearbeiten
Den Umbruch einzuschalten rührt den Wert in der Zelle nicht an. "North America regional summary" ist
davor und danach dieselbe Zeichenkette; was sich ändert, ist, wie Excel sie anordnet. Aus, wird die
Zeichenkette auf einer Zeile gezeichnet, die nach rechts überläuft, bis ein Nachbar sie blockiert. An,
faltet Excel sie in Zeilen, die jede in die Spaltenbreite passen, nach unten gestapelt. Denken Sie an
WrapText als Änderung der Form der Box, in der der Text lebt — schmaler und höher — nicht des Textes
selbst.
Diese Formänderung ist der ganze Sinn, und sie erklärt das eine, was Anfänger übersehen: Eine breitere Box braucht eine höhere Zeile, um alle Zeilen zu zeigen. Umbruch und Zeilenhöhe sind zwei Hälften derselben Idee. Sie können nicht die eine ändern und die andere ignorieren und erwarten, dass das Ergebnis richtig aussieht.
Die wichtigste Regel: Umbruch wächst die Zeile nur bei freier Höhe
Hier ist der Fehler hinter fast jeder Meldung „ich habe WrapText gesetzt, aber nichts bricht um".
WrapText = True faltet den Text intern, aber die Zeile wird nur höher, um diese zusätzlichen Zeilen
freizugeben, wenn die Zeilenhöhe auf automatisch steht. Hat irgendetwas die Höhe bereits fixiert,
behält Excel diese Höhe und schneidet die umbrochenen Zeilen außer Sicht:
Rows(2).RowHeight = 15 ' ein Makro hat die Hoehe frueher fixiert...
Range("C2").WrapText = True ' Text bricht intern um, aber die Zeile bleibt 15pt - abgeschnitten
Zwei Dinge fixieren die Höhe häufig: ein Makro, das RowHeight auf eine Zahl gesetzt hat, und — das
hinterhältige — eine verbundene Zelle, weil Rows.AutoFit sich weigert, eine Zeile zu
dimensionieren, die eine enthält (siehe AutoFit). Die Lösung ist, die Höhe auf
automatisch zu lassen und AutoFit sie messen zu lassen, oder, wenn Sie wirklich verbundene Zellen
brauchen, die RowHeight selbst zu berechnen und zu setzen. Die Regel zum Merken: WrapText = True formt
die Zelle um, aber irgendetwas muss die Zeile noch hoch genug machen, um sie zu zeigen.
Die dreistufige Abfolge, die wirklich funktioniert
Weil Umbruch und Höhe verknüpft sind, ist lesbare Ausgabe ein geordneter Dreischritt — und die Reihenfolge zählt:
Columns("C").ColumnWidth = 40 ' 1) eine FESTE Breite - der Text braucht etwas zum Umbrechen
Range("C2:C100").WrapText = True ' 2) den Umbruch einschalten
Range("C2:C100").EntireRow.AutoFit ' 3) die Zeilen an die neue umbrochene Form wachsen lassen
Schritt eins ist der Teil, den man überspringt. Das Zeilen-AutoFit kann eine Höhe erst berechnen, wenn
die Spaltenbreite feststeht — der Text muss wissen, wie breit er sein darf, bevor er entscheiden kann,
wie viele Zeilen er braucht. Wenn Sie die Spaltenbreite und die Zeilenhöhe automatisch anpassen,
streiten die beiden: Eine breitere Spalte lässt den Text auf weniger Zeilen passen, was die Höhe ändert,
und Sie erhalten ein instabiles Ergebnis. Fixieren Sie also zuerst die Breite (passen Sie sie nicht
automatisch an), dann umbrechen, dann die Höhe automatisch anpassen. Machen Sie die drei in dieser
Reihenfolge, und die Ausgabe stimmt jedes Mal.
WrapText gegenüber einem harten Zeilenumbruch
Es gibt zwei verschiedene Wege, wie Text auf mehreren Zeilen landet, und sie zu verwechseln stiftet
Verwirrung. WrapText ist ein weicher, breitengetriebener Umbruch: Excel entscheidet anhand der
Spaltenbreite, wo umgebrochen wird, und die Umbrüche verschieben sich, wenn Sie die Spalte anders
dimensionieren. Ein harter Zeilenumbruch ist ein Zeichen, das Sie selbst in die Zeichenkette setzen —
Chr(10) in VBA oder Alt+Eingabe von Hand —, das an genau dieser Stelle einen Umbruch erzwingt,
unabhängig von der Breite:
Range("C2").Value = "Line one" & Chr(10) & "Line two" ' ein harter Umbruch im Text
Range("C2").WrapText = True ' noetig, damit der harte Umbruch ANGEZEIGT wird
Der Haken: Selbst ein harter Chr(10)-Umbruch zeigt sich nur als zwei Zeilen, wenn WrapText an ist —
sonst zeigt Excel ein kleines Kästchen-Symbol oder fügt es zusammen. Die beiden arbeiten also zusammen:
Nutzen Sie Chr(10), wenn Sie einen Umbruch an einer bestimmten Stelle wollen (ein Adressblock, eine
Beschriftung über einem Wert), und verlassen Sie sich auf schlichtes WrapText, wenn Sie einfach nur
lange Prosa passend falten wollen.
WrapText zurücklesen, und das Null bei gemischten Bereichen
WrapText ist eine Eigenschaft je Zelle. Lesen Sie sie auf einer einzelnen Zelle, und Sie erhalten True
oder False. Lesen Sie sie auf einem Bereich, wo manche Zellen umbrechen und manche nicht, kann Excel
keine einzige Antwort geben, also gibt es Null zurück:
Debug.Print Range("C2").WrapText ' True oder False
Debug.Print Range("C2:C100").WrapText ' Null, wenn der Bereich gemischt ist
Dieses Null ist kein Fehler — es ist Excels Art, Ihnen zu sagen, dass der Bereich uneinheitlich ist.
Wenn Sie prüfen müssen, ob ein Bereich einheitlich umbrochen ist, prüfen Sie zuerst
IsNull(rng.WrapText); ein Nicht-Null-Ergebnis bedeutet, dass jede Zelle übereinstimmt. In der Praxis
lesen Sie es selten zurück — Sie setzen es auf einer ganzen Spalte auf einmal, was den Bereich
einheitlich hält und die Frage von vornherein umgeht.
Welche Spalten Sie umbrechen sollten
Der Umbruch verdient seinen Platz auf Text-Spalten — Beschreibungen, Kommentaren, Adressen, langen
Beschriftungen — wo das Falten die Spalte schmal und das Blatt lesbar hält. Auf Zahlen-Spalten ist er
meist falsch: Eine umbrochene Zahl ist schwerer zu lesen, nicht leichter, und Zahlen brauchen ihn selten.
Die effiziente Gewohnheit ist, WrapText auf der ganzen Spalte in einer Anweisung zu setzen
(Columns("C").WrapText = True), statt Zelle für Zelle zu schleifen, und dann die Zeilen für den ganzen
Block einmal automatisch anzupassen. Es je Zelle in einer Schleife zu setzen ist sowohl langsamer als auch
eine häufige Quelle des oben beschriebenen Null bei gemischten Bereichen. Entscheiden Sie je Spalte,
wenden Sie es einmal an, passen Sie einmal an.
Wie ExcelMaster hilft
Zeilenumbruch ist die Einstellung, die wie ein Einzeiler aussieht und dann abgeschnittene Ausgabe
erzeugt, die niemand bemerkt, bis der Bericht gedruckt ist — die Zeilenhöhe wurde vorher fixiert, die
Spaltenbreite wurde nie festgelegt, sodass AutoFit die falsche Form gemessen hat, oder der harte
Chr(10)-Umbruch zeigt sich nie, weil der Umbruch ausgelassen wurde.
ExcelMaster lässt Sie das Ergebnis
beschreiben — „brich die Beschreibungsspalte um und lass die Zeilen wachsen", „setz die Adresse auf drei
Zeilen in diese Zelle" — und schreibt die Schritte in der richtigen Reihenfolge: zuerst eine feste
Spaltenbreite, WrapText auf der ganzen Spalte, dann Rows.AutoFit, mit Chr(10), wo Sie einen harten
Umbruch verlangt haben, und eingeschaltetem Umbruch, damit er sich zeigt. Es kennzeichnet verbundene
Zellen, die die Zeile am Wachsen hindern. Sie behalten die Arbeitsmappe und den Code.
Häufig gestellte Fragen
Warum funktioniert mein VBA WrapText nicht?
Der Text bricht mit ziemlicher Sicherheit um — er zeigt sich nur nicht, weil die Zeilenhöhe fixiert ist.
Die Zeilenhöhe wächst nur dann, um umbrochene Zeilen freizugeben, wenn sie auf automatisch steht. Lassen
Sie die Höhe in Ruhe und rufen Sie Rows.AutoFit auf, nachdem Sie WrapText = True gesetzt haben, und
sorgen Sie zuerst dafür, dass die Spalte eine feste Breite hat, damit der Text etwas zum Umbrechen hat.
Ist die Zelle verbunden, dimensioniert das Zeilen-AutoFit sie gar nicht — setzen Sie die RowHeight
ausdrücklich.
Wie breche ich Text um und passe die Zeilenhöhe in VBA an?
Machen Sie drei Schritte der Reihe nach: eine feste Spaltenbreite setzen
(Columns("C").ColumnWidth = 40), den Umbruch einschalten (Range("C2:C100").WrapText = True), dann die
Zeilen automatisch anpassen (Range("C2:C100").EntireRow.AutoFit). Die Breite zuerst zu fixieren ist
entscheidend — das Zeilen-AutoFit kann die nötige Höhe erst messen, wenn der Text weiß, wie breit er sein
darf.
Wie schalte ich den Zeilenumbruch in VBA aus?
Setzen Sie die Eigenschaft auf False: Range("C2:C100").WrapText = False. Wurden die Zeilen an den
umbrochenen Text gewachsen, schrumpfen sie nicht von selbst zurück — rufen Sie danach erneut
Rows.AutoFit auf oder setzen Sie eine ausdrückliche RowHeight, um sie auf eine einzeilige Höhe
zurückzubringen.
Was ist der Unterschied zwischen WrapText und einem Chr(10)-Zeilenumbruch?
WrapText ist ein weicher, breitengetriebener Umbruch — Excel wählt anhand der Spaltenbreite, wo
umgebrochen wird, und die Umbrüche verschieben sich beim Dimensionieren. Chr(10) (dasselbe wie
Alt+Eingabe) ist ein harter Umbruch, den Sie an einer genauen Stelle in die Zeichenkette setzen. Ein
harter Umbruch zeigt sich nur als mehrere Zeilen, wenn WrapText ebenfalls an ist, also werden die
beiden meist zusammen genutzt.
Warum gibt Range.WrapText Null zurück?
Weil WrapText eine Eigenschaft je Zelle ist und der Bereich gemischt ist — manche Zellen brechen um und
manche nicht, sodass Excel kein einzelnes True oder False zurückgeben kann und stattdessen Null
liefert. Lesen Sie es auf einer einzelnen Zelle für eine eindeutige Antwort, oder prüfen Sie
IsNull(rng.WrapText), um festzustellen, ob ein ganzer Bereich einheitlich ist. WrapText auf der ganzen
Spalte auf einmal zu setzen hält es konsistent.
Getestet in
Getestet in: Excel 365 (Windows 11), VBA 7.1 — zuletzt geprüft am 10.09.2026.
Weiterführende Anleitungen: VBA AutoFit · VBA Fenster fixieren · VBA Spaltenbreite · VBA Zellen verbinden · VBA Font
