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
Mas facil, primero en reemplazar las celdas en blanco los remmplazas por... por ejemplo & y luego los & los reemplazas por nada...
ResponderEliminarEs 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