2012-02-14 21:16:14 +0000 2012-02-14 21:16:14 +0000
91
91

Hoe maak je Excel's "Auto Fit Row Height" functie eigenlijk auto passen de rij hoogte?

Voor elke generatie van Excel kan ik me herinneren (inclusief 2010, die ik nu gebruik), Excel’s “Auto Size Row” functies soms niet echt auto grootte een rij wanneer de cel bevat gewikkelde tekst. Als het goed werkt, wordt alle tekst geopenbaard en is er geen extra ruimte onder de laatste regel tekst. Wanneer het niet lukt, voegt het extra ruimte onder de tekst toe. Tot overmaat van ramp is wat u ziet niet altijd wat u krijgt, d.w.z. dat tekst die goed op het scherm verscheen, wordt afgeknipt als hij wordt afgedrukt. Je krijgt ook verschillende maten, afhankelijk van of je ingezoomd bent of op ware grootte.

Eenvoudige testcase:

Waarom is er een éénregelig gat na de tekst in cel A1 maar niet in A2?

(Om te reproduceren: stel breedte van kolom A in op 17.14 (125 pixels), tekstomloop en celuitlijning boven.)

(Ik heb dubbel gecontroleerd of ik Auto Fit Row Height op beide rijen heb toegepast. Zoomniveau is 100%.)

Is er een bekende oplossing voor dit probleem zonder de rijhoogte handmatig aan te passen (wat niet praktisch is voor meer dan een handvol rijen)?

Antwoorden (16)

106
106
106
2012-12-05 10:49:44 +0000

Een methode die ik net gevonden heb (uitbreiding van het vorige bericht een beetje):

  • Selecteer het hele blad.
  • Maak een kolom iets breder (omdat het hele blad geselecteerd is, worden alle kolommen breder)
  • Dubbelklik op een rijscheidingsteken - de rijhoogte wordt automatisch aangepast
  • Dubbelklik op een kolomscheidingsteken - de kolombreedtes worden automatisch aangepast

Voila!

13
13
13
2012-02-15 19:07:25 +0000

Excel’s WYSIWYG is niet de beste. Op je foto, ‘kat.’ sluipt net de 5e regel binnen. Als je het zoompercentage terugbrengt tot iets minder dan 100% (99% bijvoorbeeld.) dan wordt ‘cat.’ nu tot de 6e regel gewikkeld. Ik denk dat Excel probeert te auto-fitten op een manier die ervoor zorgt dat alles bijna altijd zichtbaar is, ongeacht je zoomniveau.

Dat is niet het enige probleem dat je zult hebben met AutoFit. Bovendien zal de manier waarop een in woorden verpakte cel wordt afgedrukt niet altijd overeenkomen met wat je op het scherm ziet. Neem je voorbeeld en verander het lettertype in Courier terwijl je het formaat op 11 laat staan.

Zoals je kunt zien, lijkt cel A1 1,5 extra regels te krijgen. Kijk nu naar het afdrukvoorbeeld, ‘cat.’ is volledig verborgen.

In mijn ervaring heeft Excel dit probleem met bepaalde lettertypes en lettergroottes meer dan andere. Koerier is erger dan Koerier Nieuw , maat 11 is over het algemeen erger dan 10 of 12. (Waarom ze maat 11 als nieuwe standaard hebben gekozen, ik heb geen idee).

3
3
3
2016-01-22 08:51:09 +0000

Ik heb net een kleine macro geschreven voor dat doel. Ik heb het een sneltoets (Ctrl-Shift-J) toegewezen en het werkt als een charme voor mij.

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

Om dit permanent beschikbaar te maken, kun je eenvoudig een automatische laadtoevoeging maken:

  • maak een module aan in een nieuwe lege werkmap en plak de code,
  • wijs het de gewenste sneltoets toe,
  • dan Save As, Add-in, aan map %appdata%\Microsoft\Excel\XLSTART Op deze manier wordt het elke keer als je Excel start onzichtbaar geladen.
0
0
0
2013-05-01 19:58:57 +0000

Er is een kb-artikel over dit onderwerp dat “suggereert” (het is onaanvaardbaar schaars, op klassieke Microsoft-manier) dat als je ooit een rijhoogte instelt, automatische hoogte-autofitting voor die rij van dat werkblad permanent weg is. Rijen waarvan je de hoogte niet hebt aangeraakt, worden wel automatisch aangepast.

Terwijl je de kolombreedtes kunt resetten met de “standaard breedte” instelling in 2003 (madman-design 2007: verander naar “standaard breedte”), maar ze vergaten dat (opnieuw) in te stellen voor rijen. De permanentie lijkt dus onvermijdelijk. Dat betekent dat, als je een standaard hoogte van 15 hebt, en je maakt een vel aan en stelt alle hoogtes in op 12, je de automatische autofitting gewoon verbeurd hebt verklaard.

0
0
0
2013-07-05 17:03:56 +0000

Soms is er de nucleaire methode om misstanden op te lossen.

Wat ik doe is de tekst uit elke cel kopiëren en de gegevens in Kladblok plakken, en dan de rij verwijderen. Dan kopieer en voeg ik onmiddellijk een rij in die leeg is maar dezelfde opmaak en goed gedrag heeft als de rij die werd verwijderd. (Je moet de hele rij kopiëren en invoegen met behulp van de linker rij knoppen.)

Als dat gedaan is, moet je teruggaan en de tekst van kladblok in elke cel invoegen. (Gebruik F2 of activeer op een andere manier de bewerkingsmodus van elke cel voordat u tekst invoegt). Het is een pijn, dus het is een laatste redmiddel, vooral voor ginorme brede werkbladen.

Het is soms de enige oplossing, omdat het probleem in het programma zelf zit.

0
0
0
2015-01-08 19:14:53 +0000

Ik heb dit niet grondig getest, maar het heeft voor mij gewerkt. In principe zal het alle bladen automatisch aanpassen en dan teruggaan naar de originele breedte van de kolom, tenzij het is uitgebreid door de automatische aanpassing. Ik had maar 10 kolommen en nooit meer dan 1000 rijen, dus pas de code aan als het nodig is.

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
0
0
2012-06-21 14:33:14 +0000

In sommige gevallen kan het probleem van extra ruimte in sommige rijen na het aanroepen van “AutoFit Row Height” zijn dat een verborgen kolom tekst in die rijen heeft gewikkeld.

-1
-1
-1
2013-04-08 16:10:30 +0000

Ik heb Excel 2010. Ik ontdekte dat dit probleem zich voordeed toen mijn Zoom-instelling niet op 100% stond. Zolang ik op 100% sta, krijg ik de tekst niet afgesneden met de AutoFit voor kolommen en rijen.

-1
-1
-1
2012-02-14 21:29:39 +0000

Om Dunc te parafraseren:

Ik heb een soortgelijk probleem opgelost door:

    1. Het selecteren van de volledige spreadsheet.
  1. Het selecteren van de volledige spreadsheet. 2. Dubbelklikken op de regel in de marge tussen de twee rijen.

Specifiek om het probleem van die extra regel aan te pakken, zou ik aannemen dat er een teken staat. Het mag dan geen zichtbaar teken zijn, maar er is wel degelijk iets.

-1
-1
-1
2013-01-01 11:17:02 +0000

Ook ik heb dit piepkleine, maar uiterst afleidende insect al vele jaren doorstaan. Ik heb geen enkele work-around, behalve dat ik met de rijbreedte van de cel met de meeste tekst in de cel moet rommelen, en uiteindelijk zal het programma de tekst goed laten zien.

-1
-1
-1
2013-02-26 11:57:20 +0000

Er is een eenvoudige oplossing:

1) Selecteer alle rijen die je automatisch wilt formatteren (als het een groot blok is, klik dan op het eerste en druk op Shift+End en Shift+Down)

2) Klik met de rechtermuisknop op de selectie, Formatteer Cellen, Uitlijning tabblad, vink Wikkel tekst af.

Hoop dat dit helpt ;)

-1
-1
-1
2015-12-17 16:10:03 +0000

Eigenlijk is er daar een extra karakter. Het is het verborgen LF karakter dat aan het einde van elk veld staat. Als de tekst precies de juiste grootte heeft, is er een extra rij om het LF-karakter vast te houden. Het herschalen van de kolombreedte zoals andere mensen hebben gesuggereerd zal het probleem van die cel oplossen, maar als je spreadsheet veel verschillende groottes in dezelfde kolom heeft, is het mogelijk dat je oplossing voor deze cel ervoor zorgt dat een andere cel in de kolom het probleem heeft. Ik heb er meestal mee leren leven.

-1
-1
-1
2012-08-06 12:19:12 +0000

Ik heb de tijd niet genomen om de andere opmerkingen te lezen. Waarom de regel onderaan het eerste blok en niet in het tweede blok?

Het is omdat de tekst te dicht bij de rechterrand van de cel eindigt. Als je de kolom een beetje breder maakt en dubbelklikt tussen de rijen, zal het formaat van de kolom overeenkomstig worden aangepast.

-1
-1
-1
2013-06-20 11:46:42 +0000

Mijn hypothese is dat Excel wordt geknoopt als het te veel lijnen moet verlengen. Ik had een soortgelijke ervaring als hierboven. Het ziet eruit alsof er een extra NL/CR/LF aan het eind is, maar ik weet dat die er niet is. Als ik de cel wat karakters per keer opbouw, dan wordt het automatisch geformatteerd tot een bepaalde grootte is bereikt, dan zet het de extra lijn in. (Gelijkaardig gedrag in omgekeerde richting gebeurt als je begint met het verwijderen van enkele karakters). Het gebeurt op verschillende tijden met verschillende cellen.

Bummer!

Dus als je kan de celbreedte uitbreiden, kun je waarschijnlijk het probleem vermijden. Als je dat niet kunt (zoals in mijn geval) zit je vast aan handmatige opmaak. Zoals ik al zei, “Bummer!”

-2
-2
-2
2013-01-30 20:38:33 +0000

selecteer alle cellen, en klik op de regel die de rijen twee keer scheidt… het doet het automatisch.

-2
-2
-2
2012-12-20 00:41:51 +0000

Wat voor mij werkte (Excel 2010), was het verwijderen van een honderdtal ongebruikte kolommen rechts van mijn gegevens. Ik kan alleen maar raden dat er iets was waardoor de automatische rijhoogte zich misdroeg.