Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1128to1132
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Punkt in xlText-file per vba durch Komma ersetzen

Punkt in xlText-file per vba durch Komma ersetzen
Bernd

Liebe Excel-Gemeinde,
mit dem nachstehenden Code wird ein Blatt mit xls-Format in ein Blatt txt-Format konvertiert.
With wbZiel
Application.DisplayAlerts = False
.SaveAs strFile, _
FileFormat:=xlText, CreateBackup:=False 'Zeile neu aufgenommen f. tabstopp getrennt
.Close 'wenn die neue Mappe geschlossen werden soll!
Dabei werden jedoch leider die ursprünglichen Kommata in Punkte umgewandelt.
Mit nachstendem Replacement-Code werden die Kommata zwar ersetzt, aber nur bei den Zellen mit Werten 0 (Nullwerte bleiben mit Punkt). Als krönender Abschluss wird auch noch Anführungszeichen eingefügt.
Range("A3:P37").Select
Selection.Replace What:=".", Replacement:=","
Konkretes Beispiel: https://www.herber.de/bbs/user/67079.txt
Wer weiss bitte Rat?
Danke im Voraus,
Bernd
AW: Punkt in xlText-file per vba durch Komma ersetzen
08.01.2010 14:27:26
Daniel
Hi
Excel hat so seine Tücken mit dem Umwandeln von Zahlen beim Konvertieren in Text, das liegt halt daran, das deutsche und englische Schreibweise nicht sauber getrennt sind.
ich behelfe mir mittlerweise damit, daß ich beim Erstellen einer Text- oder CSV-Datei mir per Makro oder Formel alle Werte einer Zeile mit dem entsprechenden Trennzeichen in einer Zelle zusammensammle und dann diese Hilfstabelle als Textfile speichere.
Für Excel ist das dann ein grosser Textwert in einer Spalte, somit entfallen sämtliche Umwandlungs- und Trennzeichenautomatiken von Excel und das Textfile sieht hinterher so aus, wie ich das haben will.
Gruß, Daniel
Anzeige
AW: Punkt in xlText-file per vba durch Komma ersetzen
08.01.2010 14:29:07
Tino
Hallo,
versuch mal und ersetze die Punkte direkt in der Textdatei.
Dim sFilename$, sFilename$
Dim F%
sFilename = strFile 'Deine Textdatei
If Dir$(sFilename, vbNormal)  "" Then
'Lesen der Textdatei
F = FreeFile
Open sFilename For Binary As #F
sInhalt = Space$(LOF(F))
Get #F, , sLines
Close #F
sLines = Replace(sLines, ".", ",")
'Zurückschreiben
Open sFilename For Output As #F
Print #F, sLines
Close #F
End If
Wenn aber noch andere Texte mit Punkt enthalten sind werden die auch ersetzt,
die habe ich inm Beispiel nicht gesehen.
Gruß Tino
Anzeige
AW: Punkt in xlText-file per vba durch Komma ersetzen
08.01.2010 15:00:28
Bernd
Hallo Daniel, hallo Tino,
Danke f.d. Hilfe, aber leider hilft mir das wenig, da das txt.-File korrekt formartiert (mit Kommata) vorliegen muss.
Offensichtlich scheint es keinen Befehl zu geben, der das korrekt bewerkstelligt.
Grüße Bernd
liegt es doch nach meinem Code?! owT.
08.01.2010 15:11:20
Tino
AW: Punkt in xlText-file per vba durch Komma ersetzen
08.01.2010 15:14:28
Daniel
Hi
bei der von mir beschriebenen Methode funktioniert das schon, ist halt etwas aufwendiger.
es gibt bei SaveAs noch die Option: Local:=True
ActiveWorkbook.SaveAs "Dein Dateiname", xlText, local:=True
damit müssten die Zahlenwerte korrekt mit Komma gespeichert werden (deutsches Format).
Diese Option ist leider nur per Makro aktivierbar.
damit du auch wirklich nur zwei nachkommastellen speicherst, würde ich unter EXTRAS-OPTIONEN-BERECHNEN noch die Option "Genauigkeit wie angezeigt" aktivieren, nachdem du das Zahlenformat auf 2 NK-Stellen eingegrenzt hast (hier ist wieder der Recorder dein Freund)
Gruß, Daniel
Anzeige
AW: klappt! @Daniel, @ Tino
08.01.2010 15:31:37
Bernd
Hallo Daniel,
das mit dem "local:=True" hat sofort geklappt. Vielen herzlichen Dank an Dich, du hast mir super damit geholfen. Dank auch an Timo für dessen Mühe.
Grüße, Bernd

343 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige