O espaço em branco do Excel contém 0 ocultos

0

Eu tenho workseets com células contendo espaços em branco à direita. Eu tentei usar vários métodos do VBA para remover esses espaços em branco. No entanto, nenhum foi bem sucedido. Depois de examinar se copio o espaço em branco "207.6100 " e colo no bloco de notas, existe um 0 em "0 " alguém pode me ajudar a entender isso?

    
por Tom Ruh 15.05.2015 / 20:57

3 respostas

3

Selecione as células que você 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

EDIT # 1:

Para ver o que realmente está em uma célula, clique nela e execute essa 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
    
por 15.05.2015 / 21:35
0

O "0" que você vê nos valores da célula é preenchido depois que o número real é um artefato do MS Excel chamado de " NULL ". Este é um preenchimento "Black Hole" que é usado em muitos sistemas de banco de dados; até o Oracle Database usa isso. O "NULL" se manifesta em um "0".

    
por 16.05.2015 / 17:34
-2

Use a função Trim() . Se mesmo isso não funcionar, use Val(Trim()) .

    
por 15.05.2015 / 21:05