Este carácter " " (que no es visible una vez que guardo este comentario). Parecen dos soportes juntos, que se tocan para formar un rectángulo alto. []
Una hoja de Excel exportada desde Filemaker (versión anterior) provoca un error y detiene la importación en una fila determinada que tiene un carácter recurrente.
Solo puedo ver el carácter extraño cuando copio/pego el contenido de la celda en Wordpad. La línea contiene 2 etiquetas de marcado de salto de línea invisibles y entre ellas está . Siempre que esto sucede tengo que editar el contenido en Wordpad, pegarlo y luego funciona. Sigue apareciendo cada pocas filas.
Segunda pregunta. ¿Hay alguna manera de buscar esto en Excel y eliminarlos todos?
Respuesta1
Primero debemos identificar al personaje malhechor y luego eliminarlo.
Primero coloque la siguiente función definida por el usuario en un módulo estándar:
Public Function WhatsIn(s As String) As String
Dim msg As String, i As Long, L As Long
L = Len(s)
msg = L & vbCrLf
For i = 1 To L
msg = msg & i & " " & AscW(Mid(s, i, 1)) & vbCrLf
Next i
WhatsIn = msg
End Function
La función nos dice exactamente qué contiene una celda. Da:
- el número de caracteres
- para cada carácter, el valor Unicode
. Aquí hay un ejemplo:
Sabemos cuántos caracteres hay en la celda.C2contiene y conocemos el código ASCII de cada carácter.
Las funciones definidas por el usuario (UDF) son muy fáciles de instalar y utilizar:
- ALT-F11 abre la ventana VBE
- ALT-I ALT-M abre un módulo nuevo
- pegue las cosas y cierre la ventana de VBE
Si guarda el libro de trabajo, la UDF se guardará con él. Si está utilizando una versión de Excel posterior a 2003, debe guardar el archivo como .xlsm en lugar de .xlsx.
Para eliminar la UDF:
- abrir la ventana VBE como arriba
- borrar el código
- cerrar la ventana VBE
Para utilizar la UDF desde Excel:
=Qué hay(A1)
Para obtener más información sobre las macros en general, consulte:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
y
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
y para obtener detalles sobre las UDF, consulte:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
¡Las macros deben estar habilitadas para que esto funcione!
Una vez que sepamos el número ASCII, ejecute una macro como:
Sub KleanUp()
Cells.Replace ChrW(166), ""
End Sub
donde reemplazaríamos el166con el número real.