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