Registriert seit: 13.11.2014
Version(en): 2013
Hallo Forum
Hier haben wir noch 25°C...
Ich habe fast 30'000 Ziffern, die ich ändern muss.
Da hat es z.B. 123.4567, die ich auf 1234567 (also den Punkt oder Komma weg) oder 123.456ABC, wobei ich hier nur noch 123456 haben möchte. Dann habe ich noch 255.AB.CD.5000-9X, wobei ich dann nur die Zahlen haben möchte, ohne Komma.
Wie mache ich das?
LG
cuba
Registriert seit: 12.04.2014
Version(en): Office 365
10.07.2015, 16:49
(Dieser Beitrag wurde zuletzt bearbeitet: 10.07.2015, 16:53 von Peter.)
Hallo,
deine Angaben lassen durchaus Raum für Interpretationen.
Probier mal folgendes (die Codes gehören in ein allgemeines Modul der Datei):
Kopiere diesen Code in ein allgemeines Modul der Datei
Code:
Public Function GetNumber(rngQuell As Range) As Variant
'By sergiesam
Dim intStep As Integer, newNumber As String
Application.Volatile
If rngQuell = "" Then
GetNumber = ""
Exit Function
End If
For intStep = 1 To Len(rngQuell)
If IsNumeric(Mid(rngQuell, intStep, 1)) Then
newNumber = newNumber & Mid(rngQuell.Value, intStep, 1)
End If
Next
If newNumber <> "" Then
GetNumber = CDbl(newNumber)
Else
GetNumber = ""
End If
End Function
und schreibe dann in die Nachbarzelle die Formel =Getnumber(A1)
Wenn die Umwandlung in der gleichen Spalte erfolgen sollte könntest du auch diesen Code probieren (den Bereich markieren und dann den Code mit Alt-F8 ausführen):
Code:
Sub DigitsOnly()
'Quelle: bst http://www.office-loesung.de/fpost769230.php#769230
Dim rngCell As Range, re As Object
Set re = CreateObject("vbscript.regexp")
re.Pattern = "\D+"
re.Global = True
For Each rngCell In Selection
rngCell.Value = re.Replace(rngCell.Value, "")
Next
Set re = Nothing
End Sub
Wenn das nicht deinen Erwartungen entspricht wäre eine Beispielsdatei mit einigen aussagekräftigen Werten hilfreich.
Gruß
Peter
Registriert seit: 12.04.2014
Version(en): Office 365
Hallo cuba
Das ist doch einfach. :05:
| A | B |
1 | 123.4567 | 1234567 |
2 | 123.456ABC | 123456 |
3 | 255.AB.CD.5000-9X, | 25550009 |
Zelle | Formel |
B1 | {=GANZZAHL(NBW(-0,9;WENNFEHLER(TEIL(A1;1+LÄNGE(A1)-ZEILE(INDIREKT("1:"&LÄNGE(A1)));1)/10;"")))} |
Achtung, Matrixformel enthalten! |
Die geschweiften Klammern{} werden nicht eingegeben. |
Verlassen Sie den Zelleneditor mit Strg+Shift + Enter, statt Enter alleine. |
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg |
Wir sehen uns!
... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.
Folgende(r) 1 Nutzer sagt Danke an shift-del für diesen Beitrag:1 Nutzer sagt Danke an shift-del für diesen Beitrag 28
• cuba
Registriert seit: 13.11.2014
Version(en): 2013
Hallo Shift Del
Passt! So kann ich Werte, die nun doppelt ertscheinen können, von Hand anpassen, das sind dann nur noch ein paar wenige.
LG
cuba