Excel 空白处包含隐藏的 0

Excel 空白处包含隐藏的 0

我的工作表中单元格包含尾随空格。我尝试使用各种 VBA 方法来去除这些空格。但都没有成功。经过检查,如果我复制空格"207.6100 "并将其粘贴到记事本中,其中会有一个 0,"0 "有人能帮助我理解这一点吗?

答案1

选择您想要“清理”的单元格并运行这个小宏:

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

编辑#1:

要查看单元格中实际的内容,请单击它并运行此宏:

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

答案2

您在单元格值中看到的实际数字后面填充的“0”是 MS Excel 的一个产物,称为“无效的“。这是一个填充符“黑洞”,在许多数据库系统中都有使用;甚至 Oracle 数据库也使用它。“NULL”表现为“0”。

答案3

使用Trim()函数。如果那也不起作用,请使用Val(Trim())

相关内容