PDA

Vollständige Version anzeigen : Suche Punkt --> Ersetze mit Komma, Problem bei VBA (Textformat)


bounce
16.09.2011, 13:28
Hallo,

das Thema wird sicher oft behandelt, allerdings habe ich nach langer Suche nichts zutreffendes gefunden.

Ich habe eine Menge Zahlen, die ich regelmäßig in meine Exceltabelle importieren möche. Diese müssen aber angepasst werden, weil amerikanisches Zahlenformat.

Schnell geht das mit "Suchen und Ersetzen" und dann einfach "." in ",".
Nehmen ich das mit dem Makrorekorder auf, kommt das raus:

Cells.Replace What:=".", Replacement:=",", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Problem daran ist, dass die "umgewandelten" Zahlen bei Excel noch als String erkannt werden....bis ich in die Zelle reingehe und mit Enter bestätige, dann werden aus den Strings Zahlen. Das Format umstellen bringt nichts.

Wie Löse ich das das Problem auf einfache Weise? Kann man bei ReplaceFormat irgendwas mit CDbl machen, also sagen, dass es double sein soll?

Danke.

Hajo_Zi
16.09.2011, 14:00
warum muss das ersetzt werden, das sollte Excel doch von aleine erkennen. Es sei die Datei enthält schon Text.

<img src="http://Hajo-Excel.de/images/grusz1.gif" align="middle" height="40" alt="Grußformel"><a href="http://Hajo-Excel.de/index.htm" onclick="window.open(this.href);return false"><img border="0" src="http://Hajo-Excel.de/images/logo_hajo3.gif" align="middle" height="40" alt="Homepage"></a>

EarlFred
16.09.2011, 14:01
Hallo bounce,

Daten|Text in Spalten und auf der letzten Seite des Dialogs unter "weitere..." das Dezimaltrennzeichen anpassen.

So kann man zumindest Spalte für Spalte konvertieren.

Andernfalls, je nachdem, wie die Daten überhaupt in die Tabelle kommen: Beim Import bereits korrekt darstellen lassen.

Grüße
EarlFred

bounce
17.09.2011, 12:04
Ok, passt, Daten importiere ich von .csv, bei dem Importmanager auf "weitere" auf der letzten Seite klicken und 1000er und Dezimaltrennzeichen richtig einstellen.
Danke