Anzeige
Archiv - Navigation
468to472
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
468to472
468to472
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Speichern im FileFormat:=xlText

Speichern im FileFormat:=xlText
18.08.2004 18:03:24
Heiko
Hallo Leute,
hab ein schon oft gepostedes Problem. Mit einem Makro speichere ich eine Arbeitsmappe im .txt Format automatisch.
ActiveWorkbook.SaveAs Pfad & Name, FileFormat:=xlText
Dabei ändert sich das Zahlenformat, es erscheint in der .txt Datei ein Punkt statt des Kommas.
So wird aus: 15,587 - 15.587
Für die weiter Bearbeitung der .txt Datei ist es aber wichtig das Zahlen in Kommaschreibweise angegeben werden.
An der Ländereinstellung kann es aber nicht liegen da habe ich schon geschaut. (von amerkanisch auf deutsch gestellt)
Kann man das Problem irgendwie lösen?
Gruß Heiko

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern im FileFormat:=xlText
ChrisL
Hi Heiko
Wie du schon selber sagst, das Problem wurde schon oft gepostet, drum hast du sicher die Recherche durchsucht. Jedenfalls ist es keine Woche her, seit ich dieses Makro in einem ähnlichen Zusammenhang gepostet habe...

Sub CSVExport()
Dim sFile As Variant, msgAntwort As Variant
Dim Daten As Range, Zeile As Object, Zelle As Object
Dim strTemp As String
On Error GoTo errorhandler
With ActiveSheet
sFile = Application.GetSaveAsFilename(InitialFilename:="DeineVorgabe" & ".csv", _
FileFilter:="CSV-Datei (*.csv), *.csv")
If sFile = False Then Exit Sub
If Dir(sFile) <> "" Then
msgAntwort = MsgBox("Die Datei '" & sFile & "' besteht bereits. Möchten Sie die bestehende Datei ersetzen?", _
vbQuestion + vbYesNo, "Warnung")
If msgAntwort = vbNo Then Exit Sub
End If
Set Daten = .UsedRange
Close
Open sFile For Output As #1
For Each Zeile In Daten.Rows
For Each Zelle In Zeile.Cells
If Zelle.Column = 1 Then
strTemp = Zelle
Else
strTemp = strTemp & ";" & Zelle
End If
Next Zelle
Print #1, strTemp
strTemp = ""
Next Zeile
Close #1
End With
MsgBox "Die Datei wurde erfolgreich exportiert.", vbInformation, "Export erfolgreich"
Exit Sub
errorhandler:
MsgBox "Es ist ein Fehler aufgetreten. Die Datei konnte nicht vollständig exportiert werden.", vbCritical, "Fehlermeldung"
End Sub

Gruss
Chris
Anzeige
AW: Speichern im FileFormat:=xlText
19.08.2004 09:12:49
Heiko
Erstmal vielen Dank für die schnelle Antwort Chris.
An Speichern im .csv Format hatte ich auch schon gedacht - ich werde es jetzt so machen.
Gruss Heiko
AW: Speichern im FileFormat:=xlText
19.08.2004 11:17:16
Heiko
Ich Hab es mal getestet.
Ich habe jetzt nicht mehr das Problem mit dem Punkt und Komma.
Jedoch habe ich in einer Spalte Uhrzeiten aufgeführt und die werden jetzt als Zahl behandelt. Also ein Problem gelöst und ein neues verursacht ;o)
aus 00:15 wird 17,0104166666667
Kann man das Problem in der .csv Datei beheben?
Gruss Heiko
AW: Speichern im FileFormat:=xlText
ChrisL
Hi Heiko
Ob CSV oder TXT ist eigentlich egal.
Wenn die Zeiten in einer bestimmten Spalte stehen, kannst du sie spezifisch formatieren. Im nachstehenden Beispiel werden Zeiten aus Spalte B (2) als "hh:mm" formatiert.
Gruss
Chris

Sub TXTExport()
Dim sFile As Variant, msgAntwort As Variant
Dim Daten As Range, Zeile As Object, Zelle As Object
Dim strTemp As String
On Error GoTo errorhandler
With ActiveSheet
sFile = Application.GetSaveAsFilename(InitialFilename:="DeineVorgabe" & ".txt", _
FileFilter:="TXT-Datei (*.txt), *.txt")
If sFile = False Then Exit Sub
If Dir(sFile) <> "" Then
msgAntwort = MsgBox("Die Datei '" & sFile & "' besteht bereits. Möchten Sie die bestehende Datei ersetzen?", _
vbQuestion + vbYesNo, "Warnung")
If msgAntwort = vbNo Then Exit Sub
End If
Set Daten = .UsedRange
Close
Open sFile For Output As #1
For Each Zeile In Daten.Rows
For Each Zelle In Zeile.Cells
If Zelle.Column = 1 Then
strTemp = Zelle
Else
If Zelle.Column = 2 And IsNumeric(Zelle) Then
strTemp = strTemp & ";" & Format(Zelle, "hh:mm")
Else
strTemp = strTemp & ";" & Zelle
End If
End If
Next Zelle
Print #1, strTemp
strTemp = ""
Next Zeile
Close #1
End With
MsgBox "Die Datei wurde erfolgreich exportiert.", vbInformation, "Export erfolgreich"
Exit Sub
errorhandler:
MsgBox "Es ist ein Fehler aufgetreten. Die Datei konnte nicht vollständig exportiert werden.", vbCritical, "Fehlermeldung"
End Sub

Anzeige
AW: Speichern im FileFormat:=xlText
19.08.2004 17:37:30
Heiko
jep Funktioniert jetzt so wie es soll!!
Besten DANK Chris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige