Hallo,
ich habe seit der Antwort viel rumprobiert und nun habe ich nahezu eine Lösung gefunden. Das Problem liegt vermutlich wirklich an diesen Ländereinstellunge.
Bei mir wird werden die Zahlen mit der Mid-Funktion aus Texten herausgefiltert, teilweise sind dort dann neben den Zahlen noch Leerzeichen enthalten, deswegen gibt es diese Probleme mit der Umstellung. Excel möchte halt leider helfen und wandelt sie dann von alleine um.
Mir ist später aufgefallen, dass der Punkt den ich gesehen habe gar keiner war, sondern nur ein Trennzeichen, da Excel die Zahl ja einfach umgewandelt hat. Deswegen ging der Replace nicht.
Nun ja nun zur meiner bisherigen Lösung:
Damit Excel mir nicht wieder von alleine die Zahlen umwandelt habe ich nun vorab die Zellen als Text formatiert.
Worksheets(blatt2).Range("G:G").NumberFormat = "@"
Nun werden mir die Werte wie auf dem Ausgangsblatt(blatt1) ausgegeben. Das Minuszeichen kann ich auch schon mit dem anschließenden Right/Left-Befehlt auf die linke Seite ziehen.
In Excel sind an den Zellen nun die Fehlermeldungen ("Als Text gespeicherte Zahl"). Wenn ich die anklicke und in eine Zahl umwandel dann wird es genau so wie ich es möchte. Leider ist der Makro-Rekorder leer, wenn ich die Umwandlung über den Fehlerdialog mache.
Nun gut, auch dafür habe ich dank Google eine Lösung gefunden.
spalten = Array(7)
For s = 0 To UBound(spalten) - 1
For x = 2 To 100 'testweise erstmal nur für die ersten 100 zeichen
If Not IsEmpty(Cells(x, spalten(s))) Then
Cells(x, spalten(s)) = CDbl(Cells(x, spalten(s)))
Cells(x, spalten(s)).NumberFormat = "General"
End If
Next x
Next s
Ich prüfe vorher, ob die Zelle leer ist, da ich sonst die Fehlermeldung Typen unverträglich bekomme. Bei den Zellen ganz ohne Wert klappt das wunderbar.
Nun habe ich aber auch Zellen einfach mit Leerzeichen (weil in dem Ausgangstext dann keine Werte enthalten waren). Mit dem If Nos IsEmpty kann ich diese nicht herausfiltern. Gibt es dafür eine Lösung, sodass ich es nur auf die Zellen anwende, wo eine Zahl enthalten ist?
Ganz schön umständlich in Excel, diese ganzen Text-/Zahlenforamte hin-, her- und umzuwandeln.
Danke bisher für den Denkanstoß :)
Jenny
|