Live-Forum - Die aktuellen Beiträge
Datum
Titel
20.05.2025 16:19:36
20.05.2025 15:34:36
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten als txt - Probs mit Zellformaten

Forumthread: Daten als txt - Probs mit Zellformaten

Daten als txt - Probs mit Zellformaten
20.08.2008 06:06:00
Gerhard
Moin
Speichere einen Ausschnitt meiner Tabelle wie folgt als txt Datei ab:

Sub TXT_DATEI()
Dim Bereich As Range
Dim SpeicherPfad As String
Application.ScreenUpdating = False
SpeicherPfad = _
IIf(Right$(ThisWorkbook.Path, 1) = "\", ThisWorkbook.Path, ThisWorkbook.Path & "\") & _
"Meine.TXT"
Set Bereich = Tabelle1.UsedRange.SpecialCells(xlCellTypeVisible)
With Workbooks.Add
Application.CutCopyMode = False
Bereich.Copy
.ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:= _
SpeicherPfad, _
FileFormat:=xlUnicodeText, CreateBackup:=False
.Close
Application.DisplayAlerts = True
End With
Application.ScreenUpdating = True
End Sub


Wenn ich nun diese Dateien in eine neue Tabelle kopieren will sind meine ganzen Zellformate verschwunden.
23,5 wird zu 23.5 und somit als Datum angezeigt.
0005 wird als 5 angezeigt (benutzerdefiniertes Format "0000"
Das einzige was ich mir denken kann ist, das es an diesem Satz liegt:
FileFormat:=xlUnicodeText, CreateBackup:=False
Was muss da bei FileFormat rein, das die Zellformate mitübernommen werden?
thx Gerhard

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten als txt - Probs mit Zellformaten
20.08.2008 10:17:00
Daniel
Hi
grundsätzlich:
Text-Files kennen keine Formate !!!!!!
Zahlen werden immer als Wert in in die Textdatei übertragen.
wenn du Formatierte Zahlen in ein Text-File übertragen willst, musst du diese erst in einen Text umwandeln.
dazu könntest du diese Schleife verwenden (muss nach dem Kopieren in den Code eingefügt werden)

Dim Zelle As Range
For Each Zelle In ActiveSheet.UsedRange
If IsNumeric(Zelle) Then Zelle.Value = "'" & Zelle.Text
Next


damit die Zahlen richtig gespeichert werden, musst du beim Speichern (SaveAs) noch die Option setzen: "Local:=True"
das dürfte aber nach der obigen Schleife obsolet sein, da du ja keine Zahlen in deiner Datei mehr hast, sondern nur noch Texte.
Wenn du prüfen willst, ob eine Textdatei richtig erstellt wurde, musst du die Datei mit einem Texteditor öffnen, nicht mit Excel.
Gruß, Daniel

Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige