Ich habe Arbeitsblätter mit Zellen, die nachstehende Leerzeichen enthalten. Ich habe versucht, diese Leerzeichen mit verschiedenen VBA-Methoden zu entfernen. Keine war jedoch erfolgreich. Nachdem ich überprüft habe, ob das Leerzeichen, das ich kopiere "207.6100 "
und in den Editor einfüge, eine 0 enthält, "0 "
kann mir jemand helfen, das zu verstehen?
Antwort1
Wählen Sie die Zellen aus, die Sie „bereinigen“ möchten, und führen Sie dieses kleine Makro aus:
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
BEARBEITEN #1:
Um zu sehen, was sich tatsächlich in einer Zelle befindet, klicken Sie darauf und führen Sie dieses Makro aus:
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
Antwort2
Die „0“, die Sie in Ihren Zellenwerten nach der eigentlichen Zahl sehen, ist ein Artefakt von MS Excel, das als „NULL". Dies ist ein Füllzeichen, ein „Schwarzes Loch“, das in vielen Datenbanksystemen verwendet wird; sogar Oracle Database verwendet es. Das „NULL“ manifestiert sich in einer „0“.
Antwort3
Verwenden Sie die Trim()
Funktion. Wenn auch das nicht funktioniert, verwenden Sie Val(Trim())
.