2017-06-08 2 views
0

Gibt es eine Möglichkeit in Excel oder in VBA die Zelle nach seinem Charakter zu filtern und dann in eine separate Spalte einzufügen?Alle nicht numerischen Werte in einer Spalte abschneiden

Zum Beispiel sieht meine Daten wie folgt aus:

A3200,12 
AB2000,32 
-300,34 
32567,32A 
6745,21AB 
500+ 

Und ich möchte, dass das Ergebnis so aussehen:

Column A 
3200,12 
2000,23 
300,34 
32567,32 
6745,21 
500 

Column B 
A 
AB 
- 
A 
AB 
+ 

So ist es eine Möglichkeit, thorugh jede Zelle zu gehen und abgeschnitten alle nicht-numerischen Werte aus diesen und kopieren sie in eine andere Spalte?

+0

siehe [link] (https://www.techonthenet.com/excel/formulas/isnumeric.php) – MiguelH

Antwort

1

Eine Möglichkeit besteht darin, UDF (User-Di- feded Function) zu erstellen.

Platz 2 folgende Funktionen in eine VBA-Modul:

Function Digits(s As String) As String 
    With CreateObject("vbscript.regexp") 
     .Pattern = "[^0-9,]" 
     .Global = True 
     Digits = .Replace(s, "") 
    End With 
End Function 

Function NonDigits(s As String) As String 
    With CreateObject("vbscript.regexp") 
     .Pattern = "[0-9,]" 
     .Global = True 
     NonDigits = .Replace(s, "") 
    End With 
End Function 

Um diese Funktionen zu nutzen: Wenn Sie Daten in Zelle A1 ist, nur Formel Typen in Zelle B1

=Digits(A1) 

und in der Zelle C1 :

=NonDigits(A1) 

Die erste gibt Ihre Daten als Text zurück, der nur Ziffern enthält. Um sie in eine Zahl zu konvertieren, verwenden Sie die VALUE-Funktion.

Die zweite gibt Ihre Daten ohne Ziffern zurück.

+0

Vielen Dank! Das funktioniert wie ein Zauber. Mein einziges Problem ist, dass mit "= Digits()" die Funktion auch das Komma löscht und mit "= NonDigits()" behält er sie. Gibt es eine Möglichkeit, das zu ändern? –

+0

repariert es. Seien Sie vorsichtig mit dem Minuszeichen, wenn Sie negative Zahlen haben. – RADO

+0

Entschuldigung für die späte Antwort. Vielen Dank! Das hat so gut funktioniert! Gibt es einen Ort, wo ich etwas über UDFs lesen kann? Weil ich eigentlich nicht wirklich verstehe, wie diese Funktion das gegebene Ergebnis abgibt. Schöne Grüße –

Verwandte Themen