2013-11-11

Limpiar celdas aparentemente en blanco en Excel

En algunos hojas de Excel nos encontramos con celdas que están aparentemente vacías, pero que realmente no lo están. De acuerdo con la documentación:

Este comportamiento puede producirse cuando la celda contiene una cadena de longitud cero. Una cadena de longitud cero puede ser consecuencia de las condiciones siguientes:
  • Una fórmula.
  • Una operación de copiar y pegar.
  • Una celda que contiene una cadena de longitud cero se importa desde una base de datos que admite cadenas de longitud cero y que contiene cadenas de longitud cero.

Para identificar estas celdas, empleamos la fórmula ESBLANCO. Y devolverá FALSO cuando la celda no esté vacía. Como se puede observar, a pesar de estar en blanco, la fórmula devuelve FALSO.


Una vez identificadas, para borrar su contenido disponemos de varias alternativas:

1. En Buscar y reemplazar, dejamos Buscar: vacío y en Reemplazar con: 0. Presionamos Reemplazar todos.


El resultado sería:

2. Mediante código VBA. Es necesario seleccionar el rango que deseamos limpiar antes de ejecutar el código. En lugar de ceros, como con el método anterior, dejaría las celdas en blanco.

-La solución proporcionada por galileogali es:
Option Explicit
Sub limpiar() 
Dim rng As Range, celRng As Range 
Set rng = Selection
For Each celRng In rng 
    If celRng = Empty Then 
        celRng.ClearContents 
    End If 
Next celRng 
End Sub

-Otra solución propuesta por glh es:
Option Explicit 
Sub find_newlines()
Dim c As Object
Dim firstAddress As String
With Selection
        Set c = .Find("", LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then
            firstAddress = c.Address
            Do
                c.Value = ""
                Set c = .FindNext(c)
                If c Is Nothing Then Exit Do
            Loop While c.Address <> firstAddress
        End If
    End With
End Sub

2 comentarios:

  1. Mas facil, primero en reemplazar las celdas en blanco los remmplazas por... por ejemplo & y luego los & los reemplazas por nada...

    ResponderEliminar
    Respuestas
    1. Es más fácil si no lo necesitas hacer frecuentemente. Si el uso es frecuente, mejor usar la opción 2, guaradarla en tu libro personal y ejecutarla con un comando asignado cada vez que sea necesario. Gracias por el comentario.

      Eliminar

Nube de datos