Hallo zusammen,
Ich habe folgendes Problem:
Ich ziehe mir von einer Website ziehmlich viele Infos nach Excel 2007 mit winVista.
Dabei werden aber immer zwei ziemlich hartnäckige Leerzeichen vor die Zahlen gezogen, die man aber nicht sehen kann (Bsp: __300 €)
Aus anderen Foren weiß ich schon, dass das keine „normalen“ Leerzeichen sind.
Sie können nicht durch StrH: „suchen und ersetzen“ gelöscht werden. Sie bleiben einfach da.
Funktion glätten führt auch nicht zum gewünschten Ergebnis.
Jetzt habe ich mich seit gestern zum erstenmal mit VBA und Macros beschäftigt und sehe hier durchaus Potential an mein Ziel zu kommen. Bin aber leider ein absoluter Newbie auf dem Gebiet.
Folgendes habe ich schon probiert:
Sub LeerzeichenRaus()
Dim Bereich As Range
Set Bereich = Selection
With Bereich
.Replace What:=" „, Replacement:=“", _
LookAt:=xlPart, MatchCase:=True
End With
End Sub
Hier wird nur das “normale” Leerzeichen zwischen der Zahl und dem € gelöscht.
Bsp: __600000_€ = __600000€
Dann Das:
Sub keine_leerzeichen()
Dim vInhArr As Variant
Dim vErgArr() As Variant
Dim iAnz As Integer
Dim lZiel As Long
lZiel = Range(„A65536“).End(xlUp).Row
ReDim vErgArr(lZiel, 0)
vInhArr = Range(„A2:A“ & lZiel).Value
For iAnz = LBound(vInhArr) To UBound(vInhArr)
vErgArr(iAnz, 0) = Trim(vInhArr(iAnz, 1))
Next iAnz
Range(„A2:A“ & lZiel) = vErgArr
End Sub
Tut aber nix!
Was ansatzweise funktioniert ist dieses Macro:
Sub ersetzen()
Dim Bereich As Range
Set Bereich = Selection
With Bereich
.Replace What:=Chr(32), Replacement:="", LookAt:=xlPart, MatchCase:=True
.Replace What:=Chr(160), Replacement:="", LookAt:=xlPart, MatchCase:=True
End With
End Sub
Es löscht zwar wirklich alle Leerzeichen, aber bringt teilweise falsche Werte zum Vorschein.
Bsp:
Vorher
M
33.334€
600.001€
399.999€
500.000€
5.000€
777.778€
2€
12.345€
100.000€
99.000€
4€
20.001€
16.900€
Nachher
M
33,334
600,001
399,999
500
5
777,778
2
12,345
100
99
4
20,001
16,9
Wie man sieht wird hier wirklich alles gelöscht sogar das € und leider auch einige Nullen. Wenn man genauer hinschaut werden immer die letzten Nullen bis zur Zahl gelöscht, wenn die nullen nicht durch eine andere Zahl eingeschloßen ist, jedoch werden nie mehr als drei nullen gelöscht. Außerdem wird der Punkt zu Komma. das ist auch schei?e wenn man 16.900 mit 16,9 vergleicht.
Gibt es hier Korrekturmöglichkeiten oder andere Ansätze um das zu umgehen, die ich als Newbie auf dem Gebiet umsetzen kann?
Heeelp! I need sombody!!