it-swarm.com.de

Wie kann die Excel-Funktion "Zeilenhöhe automatisch anpassen" die Zeilenhöhe automatisch anpassen?

Für jede Excel-Generation, an die ich mich erinnern kann (einschließlich 2010, die ich jetzt verwende), können die Funktionen von Excel zum automatischen Anpassen der Zeilengröße manchmal keine automatische Größe für eine Zeile festlegen, wenn die Zelle umbrochenen Text enthält. Wenn es richtig funktioniert, wird der gesamte Text angezeigt, und unter der letzten Textzeile befindet sich kein zusätzlicher Leerraum. Wenn dies fehlschlägt, wird zusätzlicher Platz unter dem Text hinzugefügt. Erschwerend kommt hinzu, dass Sie nicht immer das sehen, was Sie erhalten, d. H. Text, der auf dem Bildschirm als in Ordnung erschien, wird beim Drucken abgeschnitten. Sie erhalten auch unterschiedliche Größen, je nachdem, ob Sie vergrößert oder verkleinert sind oder die tatsächliche Größe haben.

Einfacher Testfall:

Warum gibt es eine einzeilige Lücke nach dem Text in Zelle A1, aber nicht in A2?

(Zum Reproduzieren: Setzen Sie die Breite von Spalte A auf 17,14 (125 Pixel), setzen Sie den Text um und richten Sie die Zellen oben aus.)

(Ich habe zweimal überprüft, ob ich die Zeilenhöhe automatisch an beide Zeilen angepasst habe. Die Zoomstufe beträgt 100%.)

Auto Fit fails for the first row, succeeds for the second

Gibt es dafür eine bekannte Abhilfe, ohne die Zeilenhöhen manuell einstellen zu müssen (was für mehr als eine Handvoll Zeilen nicht praktikabel ist)?

85
devuxer

Eine Methode, die ich gerade gefunden habe (um den vorherigen Beitrag ein wenig zu erweitern):

  • Wählen Sie das gesamte Blatt aus.
  • Ändere die Größe einer Spalte etwas weiter (da das gesamte Blatt ausgewählt ist, werden alle Spalten breiter)
  • Doppelklicken Sie auf einen Zeilentrenner - die Zeilenhöhe wird automatisch angepasst
  • Doppelklicken Sie auf ein Spaltentrennzeichen - die Spaltenbreiten werden automatisch angepasst

Voila!

101
Nick Carrington

WYSIWYG von Excel ist nicht das Beste. Auf deinem Bild "Katze". schleicht sich gerade noch in die 5. Reihe. Wenn Sie den Zoom-Prozentsatz auf weniger als 100% (z. B. 99%) reduzieren, wird "Kat." wird jetzt bis zur 6. Zeile umgebrochen. Ich denke, Excel versucht, die automatische Anpassung so vorzunehmen, dass fast immer alles sichtbar ist, unabhängig von der Zoomstufe.

Das ist nicht das einzige Problem, das Sie mit AutoFit haben werden. Außerdem stimmt die Art und Weise, in der eine Zelle mit Zeilenumbruch gedruckt wird, nicht immer mit der Anzeige auf dem Bildschirm überein. Nehmen Sie Ihr Beispiel und ändern Sie die Schriftart in Courier, während Sie die Größe bei 11 belassen.

Changed font to Courier

Wie Sie sehen, erhält Zelle A1 1,5 zusätzliche Zeilen. Schauen Sie sich jetzt die Druckvorschau an, 'cat.' ist völlig versteckt.

print preview of same file

Nach meiner Erfahrung tritt dieses Problem in Excel bei bestimmten Schriftarten und Schriftgrößen häufiger auf als bei anderen. Courier ist schlechter als Courier New , Größe 11 ist in der Regel schlechter als 10 oder 12. (Warum sie Größe 11 als neue Standardeinstellung ausgewählt haben, habe ich keine Ahnung.)

13
mischab1

Zu diesem Zweck habe ich gerade ein kleines Makro geschrieben. Ich habe ihm eine Tastenkombination (Strg-Umschalt-J) zugewiesen und es funktioniert wie ein Zauber für mich.

Sub ArrangeTable()
'set proper column width and row height for the current region
    With Selection.CurrentRegion
        .Columns.ColumnWidth = 200
        .Columns.EntireColumn.AutoFit
        .Rows.EntireRow.AutoFit
    End With
End Sub

Um dies dauerhaft verfügbar zu machen, können Sie ganz einfach ein automatisch ladendes Add-In erstellen:

  • erstellen Sie ein Modul in einer leeren Arbeitsmappe und fügen Sie den Code ein.
  • weisen Sie ihm die gewünschte Tastenkombination zu.
  • dann Save As, Add-in, in Ordner %appdata%\Microsoft\Excel\XLSTART
    Auf diese Weise wird es bei jedem Start von Excel unsichtbar geladen.
2
Patrick Honorez

Auch ich habe diesen winzigen, aber extrem störenden Fehler viele Jahre lang ertragen. Ich habe keine andere Möglichkeit, als an der Zeilenbreite der Zelle mit dem meisten Text herumzuspielen, und irgendwann wird das Programm den Text erneut verarbeiten und korrekt anzeigen.

0
Andrew Buchanan

Manchmal gibt es die nukleare Methode, um Autoprobleme zu beheben.

Ich kopiere den Text aus jeder Zelle, füge die Daten in den Editor ein und lösche die Zeile. Dann kopiere ich sofort eine leere Zeile und füge sie ein. Sie hat jedoch die gleiche Formatierung und das gleiche Verhalten wie die gelöschte Zeile. (Sie müssen die gesamte Zeile mit den Schaltflächen der linken Zeile kopieren und einfügen.)

Sobald dies erledigt ist, müssen Sie zurückgehen und den Text aus dem Notizblock in jede Zelle einfügen. (Benutzen F2 oder aktivieren Sie auf andere Weise den Bearbeitungsmodus für jede Zelle, bevor Sie Text einfügen.) Dies ist ein schmerzhafter und letzter Ausweg, insbesondere für unglaublich breite Arbeitsblätter.

Es ist manchmal die einzige Lösung, da das Problem im Programm selbst liegt.

0
Paul

Ich habe das nicht gründlich getestet, aber es hat für mich funktioniert. Im Wesentlichen werden alle Blätter automatisch angepasst, und anschließend wird die Spaltenbreite auf die ursprüngliche Breite zurückgesetzt, sofern sie nicht durch die automatische Anpassung erweitert wurde. Ich hatte nur 10 Spalten und nie mehr als 1000 Zeilen, also passen Sie den Code nach Bedarf an.

Sub ResizeCells()
    Dim sheetCounter As Integer
    Dim rowCounter As Integer
    Dim colCounter As Integer
    Dim totalWidth As Double
    Dim oldColWidths(1 To 10) As Double

    For sheetCounter = 1 To ThisWorkbook.Sheets.Count
        ActiveWorkbook.Worksheets(sheetCounter).Select
        totalWidth = 0

        ' Extend the columns out to 200
        For colCounter = 1 To 10
            oldColWidths(colCounter) = Cells(1, colCounter).ColumnWidth
            totalWidth = totalWidth + oldColWidths(colCounter)
            Cells(1, colCounter).ColumnWidth = 200
        Next

        For rowCounter = 4 To 1000
            If Cells(rowCounter, 1).Value <> "" Or Cells(rowCounter, 2).Value <> "" Or Cells(rowCounter, 3).Value <> "" Then
                Rows(rowCounter & ":" & rowCounter).EntireRow.AutoFit
            End If
        Next

        ' do autofit
        For colCounter = 1 To 10
            Cells(1, colCounter).EntireColumn.AutoFit
        Next

        ' reset to original values if current width is less than the original width.
        For colCounter = 1 To 10
            If Cells(1, colCounter).ColumnWidth < oldColWidths(colCounter) + 0.25 Then
                Cells(1, colCounter).ColumnWidth = oldColWidths(colCounter)
            End If
        Next
    Next
End Sub
0
Dan Williams

Es gibt einen kb Artikel , der "vorschlägt" (es ist in der klassischen Microsoft-Art unannehmbar spärlich), dass, wenn Sie jemals eine Zeilenhöhe festlegen, die automatische Höhenanpassung für diese Zeile des Arbeitsblatts dauerhaft wegfällt. Zeilen, deren Höhe Sie nicht berührt haben, passen sich automatisch an.

Sie können zwar die Spaltenbreiten mit der Einstellung "Standardbreite" in 2003 zurücksetzen (madman-designed 2007: Änderung auf "Standardbreite"), aber sie haben (erneut) (und erneut) vergessen, dies für Zeilen einzugeben. Die Dauerhaftigkeit scheint also unvermeidlich. Das heißt, wenn Sie eine Standardhöhe von 15 haben und ein Blatt erstellen und alle Höhen auf 12 einstellen, haben Sie die automatische Anpassung gerade aufgegeben.

0

In einigen Fällen kann das Problem des zusätzlichen Speicherplatzes in einigen Zeilen nach dem Aufrufen von "AutoFit Row Height" darin bestehen, dass eine ausgeblendete Spalte Text in diese Zeilen eingeschlossen hat.

0
BobO

Ich habe Excel 2010. Ich habe festgestellt, dass dieses Problem bei mir aufgetreten ist, als meine Zoomeinstellung nicht 100% betrug. Solange ich bei 100% bin, wird der Text mit der automatischen Anpassung für Spalten und Zeilen nicht abgeschnitten

0
Kevin Morin

Es gibt eine einfache Lösung:

1) Wählen Sie alle Zeilen aus, die Sie automatisch formatieren möchten (wenn es sich um einen großen Block handelt, klicken Sie zuerst auf und drücken Sie dann Umschalt + Ende und Umschalt + Nach unten).

2) Klicken Sie mit der rechten Maustaste auf die Auswahl, Zellen formatieren, Registerkarte Ausrichtung, und deaktivieren Sie die Option Text umbrechen.

Hoffe das hilft ;)

0
Pedro