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

¿Cómo hacer que la función "Altura de fila de ajuste automático" de Excel se ajuste automáticamente a la altura de la fila?

Por cada generación de Excel que recuerdo (incluida la 2010, que estoy usando ahora), la función “Tamaño automático de la fila” de Excel a veces no logra ajustar automáticamente el tamaño de una fila cuando la celda contiene texto envuelto. Cuando funciona correctamente, todo el texto se revela y no hay espacio adicional debajo de la última línea de texto. Cuando falla, añade espacio adicional debajo del texto. Para empeorar las cosas, lo que ves no siempre es lo que obtienes, es decir, el texto que aparecía bien en la pantalla se corta cuando se imprime. También se obtiene un tamaño diferente dependiendo de si se amplía o se reduce el tamaño real.

Simple caso de prueba:

¿Por qué hay un hueco de una línea después del texto en la celda A1 pero no en la A2?

(Para reproducir: establecer el ancho de la columna A a 17,14 (125 píxeles), el ajuste de texto y la parte superior de la alineación de la celda)

(Comprobé dos veces que apliqué Autoajuste de Altura de Fila a ambas filas. El nivel de zoom es del 100%)

¿Hay algún remedio conocido para esto sin recurrir al ajuste manual de las alturas de las filas (lo cual no es práctico para más de un puñado de filas)?

Respuestas (16)

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

Un método que acabo de encontrar (ampliando un poco el post anterior):

  • Seleccionar toda la hoja.
  • Redimensionar una columna un poco más amplia (porque se selecciona toda la hoja, todas las columnas se ensancharán)
  • Hacer doble clic en un separador de filas - la altura de la fila se ajustará automáticamente
  • Hacer doble clic en un separador de columnas - el ancho de las columnas se ajustará automáticamente

¡Voilà!

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

El WYSIWYG de Excel no es el mejor. En tu foto, “gato” apenas se cuela en la quinta línea. Si reduces el porcentaje de zoom a algo menos del 100% (99% por ejemplo), entonces “gato” se reduce a la sexta línea. Creo que Excel está tratando de autoajustarse de manera que se asegure que todo sea casi siempre visible sin importar el nivel de zoom.

Ese no es el único problema que tendrás con Autoajuste. Además, la forma en que se imprime una celda envuelta en palabras no siempre coincidirá con lo que se ve en la pantalla. Tome su ejemplo y cambie la fuente a Courier, dejando el tamaño en 11.

Como puede ver, la celda A1 parece tener 1,5 líneas adicionales. Ahora mira en la vista previa, “cat.” está completamente oculta.

En mi experiencia, Excel tiene este problema con ciertas fuentes y tamaños de fuente más que con otros. Courier es peor que Courier New , el tamaño 11 es generalmente peor que el 10 o el 12. (No tengo ni idea de por qué eligieron el tamaño 11 como el nuevo predeterminado.)

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

Acabo de escribir una pequeña macro para ese propósito. Le asigné una tecla de atajo (Ctrl-Shift-J) y me funciona de maravilla.

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

Para que esté disponible permanentemente, puedes hacer fácilmente un complemento de carga automática:

  • crea un módulo en un nuevo libro de trabajo en blanco y pega el código,
  • asígnale la tecla de atajo que quieras,
  • luego Save As, Add-in, a la carpeta %appdata%\Microsoft\Excel\XLSTART De esta manera se cargará de forma invisible cada vez que inicies Excel.
0
0
0
2013-05-01 19:58:57 +0000

Hay un kb article sobre esto que “sugiere” (es inaceptablemente escaso, en la forma clásica de Microsoft) que si alguna vez fijas una altura de fila, el autoajuste de altura automático desaparece permanentemente para esa fila de esa hoja de trabajo. Las filas cuya altura no hayas tocado se ajustarán automáticamente.

Aunque puedes reajustar los anchos de columna con el ajuste de “ancho estándar” en 2003 (diseño loco 2007: cambiar a “ancho por defecto”), se olvidaron (otra vez) (y otra vez) de poner eso para las filas. Así que la permanencia parece inevitable. Eso significa que si tienes una altura por defecto de 15, y creas una hoja y pones todas las alturas a 12, acabas de perder el ajuste automático.

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

A veces existe el método nuclear para arreglar los autoproblemas de mal comportamiento.

Lo que hago es copiar el texto de cada celda y pegar los datos en el Bloc de Notas, y luego borrar la fila. Luego inmediatamente copio e inserto una fila que está en blanco pero que tiene el mismo formato y buen comportamiento que la fila que fue borrada. (Debe copiar e insertar toda la fila usando los botones de la fila izquierda).

Una vez hecho esto, debe volver atrás e insertar el texto del bloc de notas en cada celda. (Utilice F2 o active el modo de edición de cada celda antes de insertar el texto). Es una molestia, por lo que es un último recurso, especialmente para hojas de trabajo ginormalmente anchas.

Es la única solución a veces, ya que el problema reside en el propio programa.

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

No he probado esto a fondo, pero me ha funcionado. Esencialmente ajustará automáticamente todas las hojas y luego volverá a pasar y establecerá el ancho de la columna al ancho original, a menos que haya sido extendido por el auto ajuste. Sólo tenía 10 columnas y nunca más de 1000 filas, así que ajusta el código según sea necesario.

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

En algunos casos, el problema del espacio extra en algunas filas después de invocar “Autoajuste de altura de fila” puede ser que una columna oculta ha envuelto el texto en esas filas.

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

Tengo Excel 2010. Descubrí que este problema me ocurrió cuando mi ajuste de zoom no estaba al 100%. Mientras esté al 100%, no consigo cortar el texto con el Autoajuste para las columnas y las filas

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

Parafraseando a Dunc :

He resuelto un problema similar por:

  1. Seleccionando toda la hoja de cálculo.

  2. Haciendo doble clic en la línea del margen entre las dos filas.

Específicamente para resolver el problema de esa línea extra, asumiría que hay un personaje allí. Puede que no sea un personaje visible, pero definitivamente hay algo ahí.

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

Yo también he soportado este pequeño pero extremadamente molesto bicho durante muchos años. No tengo otra solución que jugar con el ancho de la fila de la celda con más texto, y eventualmente el programa cederá y mostrará el texto correctamente.

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

Hay una solución fácil:

1) Selecciona todas las filas que quieras autoformar (si es un bloque grande, haz clic en el primero y luego presiona Shift+End y Shift+Down)

2) Haz clic con el botón derecho del ratón en la selección, Formato de celdas, pestaña Alineación, desmarca Envolver texto.

Espero que esto ayude ;)

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

En realidad hay un personaje extra allí. Es el personaje oculto de LF que está al final de cada campo. Cuando el texto tiene el tamaño adecuado, la fila extra está ahí para contener el carácter LF. Redimensionar el ancho de la columna como han sugerido otras personas resolverá el problema de esa celda, pero si tu hoja de cálculo tiene muchos valores de tamaño variable en esta misma columna, es posible que tu arreglo para esta celda provoque que otra celda de la columna tenga el problema. He aprendido a vivir con ello la mayor parte del tiempo.

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

No me tomé el tiempo de leer los otros comentarios. ¿Por qué la línea en el fondo del primer bloque y no en el segundo?

Es porque el texto termina demasiado cerca del borde derecho de la celda. Si ajusta la columna para que sea un poco más ancha y hace doble clic entre las filas, se redimensionará en consecuencia.

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

Mi hipótesis es que Excel se anuda cuando tiene que extender demasiadas líneas. Tuve una experiencia similar a la anterior. Parece que hay un extra de NL/CR/LF al final pero sé que no lo hay. Si construyo la celda con algunos caracteres a la vez, se autoforma bien hasta que se alcanza un tamaño determinado, entonces se pone en la línea extra. (Un comportamiento similar a la inversa ocurre si empiezas borrando algunos caracteres). Ocurre en diferentes momentos con diferentes celdas.

¡Bummer!

Así que si puedes extender el ancho de la celda, probablemente puedas evitar el problema. Si no puedes (como en mi caso) estás atascado con el formato manual. Como dije, “¡Bummer!”

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

seleccionar todas las celdas, y hacer clic en la línea que separa las filas dos veces… lo hará automáticamente.

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

Lo que me funcionó (Excel 2010), fue borrar un centenar de columnas no utilizadas a la derecha de mis datos. Sólo puedo suponer que había algo allí que causaba que la altura de la fila automática se comportara mal.