Tengo conjuntos de trabajo con celdas que contienen espacios en blanco al final. Intenté usar varios métodos de VBA para eliminar estos espacios en blanco. Sin embargo, ninguno ha tenido éxito. Después de examinar si copio el espacio en blanco "207.6100 "
y lo pego en el bloc de notas, hay un 0. ¿ "0 "
Alguien puede ayudarme a entender esto?
Respuesta1
Seleccione las celdas que desea "limpiar" y ejecute esta pequeña macro:
Sub KleanCell()
Dim r As Range, CH As String, v As String
Dim v2 As String
For Each r In Selection
v = r.Text
CH = ""
For i = 1 To Len(v)
v2 = Mid(v, i, 1)
If IsNumeric(v2) Or v2 = "." Then
CH = CH & v2
End If
Next i
r.Clear
r.Value = CDbl(CH)
Next r
End Sub
EDITAR #1:
Para ver qué hay realmente en una celda, haga clic en ella y ejecute esta macro:
Sub WhatIsInThere()
Dim L As Long, v As String
Dim i As Long, msg As String
v = ActiveCell.Text
L = Len(v)
msg = L & vbCrLf & vbCrLf
For i = 1 To L
msg = msg & i & vbTab & Mid(v, i, 1) & vbTab & Asc(Mid(v, i, 1)) & vbCrLf
Next i
MsgBox msg
End Sub
Respuesta2
El "0" que ve en los valores de su celda rellenados después del número real es un artefacto de MS Excel llamado "NULO". Este es un "agujero negro" de relleno que se usa en muchos sistemas de bases de datos; incluso la base de datos Oracle lo usa. El "NULL" se manifiesta en un "0".
Respuesta3
Utilice la Trim()
función. Si ni siquiera eso funciona, usa Val(Trim())
.