Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Am Sonntag (23.09.) wird das Forum zwischen 06:00 Uhr und 09:00 Uhr kurzzeitig nicht erreichbar sein. Wir stellen auf SSL / HTTPS um.


Suchen/Ersetzen
#1
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
Antwortento top
#2
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
Antwortento top
#3
Hallo cuba

Das ist doch einfach.  05
 AB
1123.45671234567
2123.456ABC123456
3255.AB.CD.5000-9X,25550009

ZelleFormel
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!
... shift-del
Hinweise zu meiner Hilfe in Foren
Excel Super-Funktionen: VERWEIS(), INDEX(), WAHL()
[-] Folgende(r) 1 Benutzer sagt Danke an shift-del für diesen Beitrag:
  • cuba
Antwortento top
#4
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
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste