Eu tenho workseets com células contendo espaços em branco à direita. Eu tentei usar vários métodos VBA para eliminar esses espaços em branco. No entanto, nenhum teve sucesso. Depois de examinar se copio o espaço em branco "207.6100 "
e colo no bloco de notas, há um 0 nele, "0 "
alguém pode me ajudar a entender isso?
Responder1
Selecione as células que deseja “limpar” e execute esta pequena 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 o que realmente está em uma célula, clique nela e execute 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
Responder2
O "0" que você está vendo nos valores das células preenchidos após o número real é um artefato do MS Excel chamado "NULO". Este é um preenchimento "Black Hole" que é usado em muitos sistemas de banco de dados; até mesmo o Oracle Database o utiliza. O "NULL" se manifesta em um "0".
Responder3
Use a Trim()
função. Se mesmo isso não funcionar, use Val(Trim())
.