Mit dem folgenden Beispiel-VBA Code werden aus beliebigen Zellen alle Text-Zeichen außer Zahlen entfernt. Dies kann nach einem Datenimport notwendig werden. Denn durch den Import können sich beispielsweise Leerzeichen oder andere undefinierbare Zeichen eingeschlichen haben.
Wichtig ist, das Dezimaltrennzeichen im VBA-Code zu definieren, denn sonst wird es als unerwünschtes Zeichen erkannt und auch entfernt.
Voreingestellt ist das Komma (,) als Dezimaltrennzeichen.
Dieses Beispiel bereinigt die Zellen A1 bis A3.
Sub Zahlen_auslesen()
dezimaltrennzeichen = "," 'Dezimaltrennzeichen festlegen
For i = 1 To 3 'Exemplarisch für Zeile 1 bis 3
wert = Cells(i, 1).Value 'Exemplarisch für Spalte A - Also A1 bis A3
zellwert = ""
'In jeder Zelle werden alle Zeichen bearbeitet
For k = 1 To Len(wert)
z = Mid(wert, k, 1)
If Not (Asc(z) > 47 And Asc(z) < 58) Then
If z = dezimaltrennzeichen Then
If Not Asc(Mid(wert, k + 1, 1)) > 47 And Asc(Mid(wert, k + 1, 1)) < 58 Then
z = ""
End If
Else
z = ""
End If
End If
zellwert = zellwert & z
Next k
Cells(i, 2).Value = CDbl(zellwert) 'Werte werden in B1 bis B3 geschrieben
Next i
End Sub