Import txt-Datei

05/08/2008 - 13:52 von Andrea | Report spam
Liebe Community!

Vor nicht allzu langer Zeit habe ich mit Eurer Hilfe ein Problem in Excel
2003 gelöst. Jetzt musste ich (leider?) auf Excel 2007 umsteigen, und es
funktioniert wieder nicht.

Ich muss an sich eine csv Datei in meine Warenwirtschaft importieren. Die
darin angeführten Preise kommen jetzt wieder als Datum an. Das hat bis jetzt
mit dem Assistenten super funktioniert. Die Landeseinstellungen stimmen habe
ich kontrolliert. Könnt Ihr mir vielleicht wieder helfen?

Falls das wichtig sein sollte: Betriebssystem ist XP Professional.

Danke
Andrea
 

Lesen sie die antworten

#1 Thomas Hübner
05/08/2008 - 21:09 | Warnen spam
Andrea schrieb:

Ich muss an sich eine csv Datei in meine Warenwirtschaft importieren. Die
darin angeführten Preise kommen jetzt wieder als Datum an. Das hat bis jetzt
mit dem Assistenten super funktioniert. Die Landeseinstellungen stimmen habe
ich kontrolliert. Könnt Ihr mir vielleicht wieder helfen?



Lass mich raten - in der CSV sind die Preise mit Dezimaltrennzeichen
"Punkt" (Angelsàchsisch). Eine CSV Datei ist immer eine Textdatei. Ein
deutsches Excel versucht bei einer Zelle die einen Text mit einem Punkt
enthàlt immer ein Datum daraus zu machen.(Das klappt manchmal und
manchmal nicht) Dagegen ist kein Kraut gewachsen außer Du übergibst
Excel einen reellen Zahlenwert.

Ansatz 1:
Versuch mal die CSV über eine Abfrage reinzuholen. Das wird dann über
die JET bzw ihren Texttreiber erledigt. Die JET kann mit einer
sogenannten Schema.ini beeinflußt werden (mit Excel hab ich das noch nie
gemacht wohl aber mit VB)
Die Schema.ini muß im selben Verzeichnis wie die CSV liegen und
überschreibt die Systemeinstellungen (besser die JET guckt erst dort
nach und dann in der Registry. Die Datei einfach mit notepad erstellen:

[export.txt]
Format=Delimited(,)
DecimalSymbol=.

in Eckigen Klammern den Namen Ddeiner CSV eintragen und bei Delimted()
Deinen CSV Trenner rein. Es sind noch wesentlich mehr Konfigurationen
möglich: http://msdn.microsoft.com/en-us/lib...09353.aspx (englisch)

Ansatz 2:
Wer auch immer die Datei erstellt muß den Preis mit Dezimalkomma versehen.

Ansatz 3:
Per VBA (Makro) die CSV Zeilenweise einlesen und die Preisspalte dabei
mit cdbl(Replace(<Dein.Wert>,".",",")) zu einer Zahl machen bevor er in
die Zelle geschrieben wird.

mehr fàllt mir momentan nicht ein. Wenn der wert einmal in der Zelle
Steht ist es meist zu spàt da aus 8.3 dann schon 39515,00 (Datum)
geworden ist

Gruß,
Thomas

Ähnliche fragen