AW: Zahlenwert aus string auslesen
12.10.2003 23:20:56
Björn
Huhu,
Danke Euch Dreien!
Ich hatte überlegt, ein Script zu schreiben, das alle DM-Werte in Tabellen in Euro umrechnet. die Lösungsvvorschläge haben gezeigt, daß das gar nicht so einfach ist. Ein Ansatz auf Excel-basis allein scheidet natürlich leider aus :-(.
Der Ansatz von Holger hat mich zunächst am meisten beeindruckt und es ist wohl auch die treffendeste Antwort auf meine insoweit zu unpräzise Frage. Ich hab 's auch entsprechend für einen kleinen Range-Auschnitt weiterentwickelt - s.u.. Aber es geht natürlich fast zu weit, weil dadurch auch nicht Währungsrelatierte Kombinationen von Text und Zahlen verloren gehen könnten. Solchermaßen muß die Reise wohl doch eher in die Richtung von Klaus-Dieters Ansatz gehen. Per se geht der natürlich auch zu weit, weil er voraussetzt, daß alle Werte-Kombinationen ein " DM" am Ende besitzen. Daher muß es wohl so werden:
wenn am Anfang oder am Ende ein "DM " oder " DM" und der Ausdruck davor bzw dahinter eine Zahl enthält, dann kappe 3 Stellen vor bzw. hinter der Zahl.....
Ob es besonders zuverlässig wird...mal gucken.
Jedenfalls vielen Dank Euch allen noch einmal!
Liebe Grüße
Björn
Sub zahl()
z = 1
Do While z < 500
Text = Cells(z, 1).Value
For i = 1 To Len(Text)
If Asc(Mid(Text, i, 1)) >= 48 And Asc(Mid(Text, i, 1)) <= 57 Then
ergebnis = ergebnis & Mid(Text, i, 1)
End If
Next
If IsNumeric(ergebnis) Then
ergebnis = ergebnis * 1
Cells(z, 1) = ergebnis
End If
ergebnis = ""
z = z + 1
Loop
End Sub