Usuario del software
2012-11-19 15:11:43 +0000 2012-11-19 15:11:43 +0000
80

Excel - Evitar que el texto de la celda se desborde a la siguiente celda (vacía)

Cuando tiene texto en una celda de Excel que es demasiado largo para mostrarse en el área visible de esa celda, y la siguiente celda de la derecha está vacía, Excel permite que el texto se muestre en esa siguiente celda (y en la siguiente, y en la siguiente, según sea necesario). Quiero cambiar esto; quiero evitar este desbordamiento de texto.

Sé que puedo evitarlo habilitando "word wrap" y ajustando la altura de las filas. Pero eso no es lo que quiero.

Quiero cambiar el comportamiento POR DEFECTO de Excel para que muestre el valor de cada celda sólo en el área visible de esa celda. No hay desbordamiento, no hay ajuste de palabras.

¿Es esto posible? (Estoy usando Excel 2010, por cierto.)

Respuestas [8]

53
2015-10-22 13:28:31 +0000

Sí, puedes cambiar este comportamiento, pero probablemente no querrás los efectos secundarios que esto causa.

La clave para limitar el contenido de la célula a los límites de la misma, independientemente de que la célula adyacente contenga datos, es la alineación del texto Fill. Selecciona las celdas que no quieras desbordar y haz clic en ellas con el botón derecho del ratón > Formato de celdas... > Pestaña de alineación > Alineación horizontal > Relleno

El problema con este método es que esto realmente llenará las celdas repitiendo su contenido cuando sea lo suficientemente corto como para caber en la celda varias veces. Mira la siguiente captura de pantalla para ver lo que esto significa. (Observe que B7 se llena con 'texto corto'.)

Screenshot showing the different text alignment behaviour for default and fill

Parece que se quedará atascado con las soluciones provisionales en el post de Benedikt

Observe que también podría llenar las celdas adyacentes con caracteres de marca (') usando el primer método de Benedikt, muy inteligente. De esta manera no tienes que ocultar nada, evitar el desbordamiento de celdas y si copias las celdas como texto (digamos al bloc de notas) sigues obteniendo texto vacío y no espacios o ticks.

53
27
2015-07-24 13:00:33 +0000

Así es como lo hago.

  1. Opción 1: Llenar todas las celdas vacías con un "N/A" y luego usar el formato condicional para hacer el texto invisible.
  2. O Opción 2: Llenar todas las celdas vacías con un "0" y usar un ajuste de Excel para ocultar los valores cero.

Llenar todas las celdas vacías: (probado en una Mac)

  • Editar → Ir a... → Especial ... (En Windows: Inicio → Editar → Buscar y seleccionar → Ir a...)
  • Seleccionar "Blancos" y pulsar OK.
  • Todas las celdas en blanco están seleccionadas ahora. No haga clic en nada.
  • Escriba "N/A" o 0, y luego presione Ctrl+Enter†. Esto insertará el valor en todas las celdas seleccionadas.

Formato condicional para ocultar "N/A "

  • Formato → Formato condicional.
  • Crear nueva regla.
  • Estilo: Clásico, y Usar una fórmula para determinar qué celdas formatear.
  • Fórmula: =A1="N/A"
  • Formatear con: Formato personalizado: Color de fuente blanco, sin relleno.

Ocultar Ceros

  • Ajustes de Excel → Ver.
  • Desmarcar "Mostrar valores cero".

\ ~ - Ocultar Ceros**

†  Eso es Ctrl+Enter,no Ctrl +Shift+ Enter.

27
13
2017-04-17 12:50:46 +0000

Intenta introducir la fórmula ="" (son dos comillas dobles) en la celda adyacente donde no quieres ver el desbordamiento. Esto se evalúa a "nulo" que no muestra nada y no afectará a las matemáticas.

13
7
2017-12-13 19:27:48 +0000

Puede que no sea una opción para todos, pero si importas el documento a Google Sheets, esta función se admite de forma predeterminada. En la barra de menú superior, se admiten tres tipos de envoltura de texto. Desbordamiento, envoltura y clip. Según los requisitos, esta puede ser una opción viable para algunas personas.

7
4
2018-11-28 00:26:59 +0000

Ampliando la solución de usar ' para bloquear Excel el derrame de texto hacia la derecha en las celdas en blanco adyacentes, a veces no quieres modificar/corregir tu columna de datos insertando ese valor allí.

En lugar de insertar el ' en tus valores de datos reales, puedes crear una nueva columna vertical dedicada a este propósito, completamente rellena con los caracteres ' hasta abajo.

1. Columna de barrera

enter image description here

2. Inserte la columna "barrera" a la izquierda de la(s) columna(s) que desea proteger.

enter image description here

3. Colapse las columnas de barrera fijando su ancho de columna en un valor pequeño

Fije el ancho de columna en un valor como .1, o alternativamente mantenga las columnas de barrera más anchas para que actúen como margen o espacio en blanco entre columnas.

enter image description here

Tenga en cuenta que debe fijar un ancho mayor que cero; fijando el ancho de la columna de barrera vertical en cero se revertirá al comportamiento de desbordamiento de células no deseado.

**4. ¡Voilà!

4
4
2017-10-31 15:09:07 +0000

Use la alineación de Texto Horizontal "Rellenar" para la celda. Puedes encontrarlo en el mismo lugar que otras opciones de alineación que deberían resolver tu problema

Fill Text Alignment

4
1
2019-06-24 08:59:09 +0000

En Excel, ajuste la columna a la anchura requerida, luego habilite la corrección de palabras en esa columna (lo que hará que aumente la altura de todas las filas) y finalmente seleccione todas las filas y ajuste la altura de las mismas a la altura deseada. ¡Voilà! Ahora tienes texto en las celdas que no se desborda a las celdas adyacentes.

(Nota: Encontré esto y lo publiqué como un comentario en la respuesta seleccionada pero también lo publiqué como una respuesta así que será más fácil de encontrar para los demás).

1
0
2019-09-23 04:17:44 +0000

En la misma línea de pensamiento que Google Sheets puede no ser para todos, esta macro puede no ser para todos pero puede puede ser para alguien.

Corre a través del rango seleccionado y reemplaza las celdas desbordantes con texto truncado.

Banderas determina si:

  • el texto ofensivo se copia a la misma dirección relativa en una nueva hoja de trabajo o si se descarta.

  • el texto truncado está codificado o vinculado mediante una fórmula de hoja de trabajo =LEFT()

  • el texto truncado está hipervinculado a la cadena completa en la nueva hoja.

Por defecto es retener los datos y usar ambos vínculos.

Option Explicit

Sub LinkTruncatedCells()
    Dim rng As Range: Set rng = Selection
    Dim preserveValues As Boolean: preserveValues = True
    Dim linkAsFormula As Boolean: linkAsFormula = True
    Dim linkAsHyperlink As Boolean: linkAsHyperlink = True
    Dim w As Single
    Dim c As Range
    Dim r As Range
    Dim t As Long
    Dim l As Long
    Dim s As String
    Dim ws As Worksheet
    Dim ns As Worksheet
    Application.ScreenUpdating = False
    Set ws = rng.Parent
    For Each c In rng.Columns
        w = c.ColumnWidth
        t = 0
        l = 0
        For Each r In c.Rows
            If Len(r) > l Then
                s = r
                If CBool(l) Then r = Left(s, l)
                Do
                    r.Columns.AutoFit
                    If r.ColumnWidth > w And Len(s) > t Then
                        t = t + 1
                        r = Left(s, Len(s) - t)
                        l = Len(r)
                    End If
                Loop Until t = Len(s) Or r.ColumnWidth <= w
                r.ColumnWidth = w
                If r <> s And preserveValues Then
                    If ns Is Nothing Then
                        Set ns = ws.Parent.Worksheets.Add(after:=ws)
                    End If
                    ns.Range(r.Address) = s
                    If linkAsFormula Then r.Formula = "=LEFT(" & ns.Name & "!" & r.Address & "," & l & ")"
                    If linkAsHyperlink Then ws.Hyperlinks.Add Anchor:=r, Address:="", SubAddress:= _
                            ns.Range(r.Address).Address(external:=True)
                End If
            End If
        Next r
    Next c
    ws.Activate
    Application.ScreenUpdating = True
End Sub

Nota final: Lo he usado para proyectos personales y lo he encontrado fiable pero por favor guarde y haga una copia de seguridad de su trabajo antes de intentar cualquier macro desconocido.

0