Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Text in Zahlen umwandeln
#1
Hallo zusammen,

Zurzeit probiere ich einige Jahreskennzahlen von Unternehmen miteinander zu verrechnen.
Erstaunlicherweise ist es mir gelungen einige Informationen einer Website ohne ein VBA zu ziehen. 
Dazu habe ich den Link in ein Word kopiert und als .iqy Datei gespeichert.
Dies funktioniert bis jetzt super.

Nun erhalte ich jedoch Zahlen, welche als Text formatiert sind. Dies ist an sich nicht das Problem, denn mit mit der Funktion Wechseln konnte ich die meisten texte "besäubern" und umformatieren.
Das Problem ist mehr, dass ich Texte wie z.B. 4.12M oder 52M oder 3.1M habe.
Anfangs dachte ich, wenn ich das "M" durch "00000" ersetze, erhalte ich eine Lösung.
Leider funktioniert dies aber nicht, da die Zahlen nach dem Punkt nicht immer gleich sind.

Hat hier jemand eine sinnvolle Lösung?

im Anhang befindet sich eine Beispieldatei.
Die Lösung sollte wie das grün markierte aussehen.

Vielen Dank im Voraus!

Gruss
Pascal


.xlsx   Beispieldatei.xlsx (Größe: 14,21 KB / Downloads: 14)
Top
#2
Hallo Pascal,

ich bezweifele jetzt mal, dass Du mit Deinen Daten glücklich werden wirst. Dafür ist die Umwandlung von Text in Zahlen aus unbekannter Quelle zu fehleranfällig.

Aber für's erste kannst Du ja mal folgende Formel nutzen:
=WENN(RECHTS(B3;1)="M";WERT(LINKS(WECHSELN(B3;".";",");LÄNGE(B3)-1))*1000000;WERT(WECHSELN(B3;".";","))*1000)

Gruß,
Lutz
[-] Folgende(r) 1 Nutzer sagt Danke an Lutz Fricke für diesen Beitrag:
  • Cadi1997
Top
#3
Hallo,

teste mal

Code:
Sub T_2()
Dim C As Range

For Each C In ActiveSheet.UsedRange.Cells
    If InStr(1, C, "M", vbBinaryCompare) > 0 Then
        'C.Select: Stop
        'Debug.Print Val(C)
        C = Val(C) * 1000000
        C.NumberFormat = "#,##0"
        Stop
    End If
Next C
End Sub

mfg
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • Cadi1997
Top
#4
Hi
Erstmal vielen Dank für deine Antwort.
Leider gibt mir Excel WERT als Fehlermeldung zurück.
Hast du evtl. ein Beispieldokument, in welchem die Formel funktioniert?

Gruss
Pascal
Top
#5
=--WECHSELN(WECHSELN(A1;".";",");"M";"e6")
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top
#6
Statt Word, verwende ein Querytable in Excel.

Code:
Sub M_snb()
   Sheet1.Cells.Replace ".", ",", 2
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • Cadi1997
Top


Gehe zu:


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