Textzeichen aus Zellen entfernen (nur Ziffen auslesen)

108038

 



Mit dem folgenden Beispiel werden aus Zellen alle Zeichen außer Zahlen entfernt.
Dies kann nach einem Datenimport notwendig werden. Hier sind evtl. Leerzeichen oder andere undefinierbare Zeichen enthalten.

Mit diesem Makro können Sie die unerwünschten Zeichen problemlos entfernen.

Wichtig ist, das Dezimaltrennzeichen 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