Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Export in Tab delim txt ohne überflüssige Tabs

Export in Tab delim txt ohne überflüssige Tabs
13.10.2008 04:13:43
Dirk
Hallo Excelgemeinde,
ich habe eine ziemlich umfangreiche txt, die ich in Excel in 2 Tabellen (aufgrund der Zeilenlimitation) einlese und bearbeite. Nun möchte ich sie gene wieder aus Excel in eine Tab delim txt exportieren, wobei mich zur weiteren Bearbeitung aber zusätzliche Tabs am Ende einer Zeile stören. Das Problem ist nur das meine Zeilen unterschiedlich lang sind und alles was ich hier gefunden habe mit used Range Rows und Columns arbeiet. Habt Ihr eine Idee wie man das individuell für jede Zeile festlegen kann? Ich habe mal eine (gekürzte) Datei als Beispiel hochgeladen.
https://www.herber.de/bbs/user/55978.xls
Danke im Voraus
Gruß Dirk

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

Betreff
Datum
Anwender
Anzeige
AW: Export in Tab delim txt ohne überflüssige Tabs
13.10.2008 10:40:45
Armin
Hallo Dirk,
die Beispielmappe enthält ja eigentlich in sich wirdersprüchliche Zeilen. Einmal ist die Spaltenüberschrift oben Zeile 1 und dann auf einmal in Spalte 1 (A). Ab Zeile 254 und dann ab Zeile 263 wie gehabt.
Also dazu müsstest Du noch mal was schreiben.
Ich kann ich mir nur vorstellen die Ausgabe mit VBA zu realisieren. Was benutzt Du als Speratorzeichen? (Tabulator oder)?
Gruß
Armin
AW: Export in Tab delim txt ohne überflüssige Tabs
13.10.2008 14:46:00
Yal
Hallo Dirk,
@Armin: ich nehme an, Dirk hat das Inhalt von 3 vers. Tabelle in einer zusammengefasst.
Ohne das Problem gezielt einzugehen, nur ein Tipp:
"in 2 Tabellen auf Grund der Zeilenlimitation" (--> also mehr als 65536 Zielen!): in meinen Horen schreit es ganz laut für Access anstatt Excel.
Das Verfahren Importieren-Bearbeiten-Exportieren, auch ETL "Extract-Transform-Load" benannt, ist selten mit Excel besser bedient als mit einer relationale Datenbank.
u.a. weil mit Access Du das Problem der Spaltenauswahl nicht hast: das wird durch eine Abfrage gelöst.
Viel Erfolg
Yal
Anzeige
AW: Export in Tab delim txt ohne überflüssige Tabs
13.10.2008 22:33:00
Dirk
Danke für Eure Hilfe.
@ Armin
An der Mappe kann ich nichts ändern. Die wird von einem Auswerteprogramm so ausgegeben und soll danach auch so wieder eingelesen werden, nachdem ich die Werte in der Spalte "Well" werändert habe (in dem Beisp. also die 205 und 382). Ich habe an der Tabelle nichts verändert, außer dass ich sie um ca. 90.000 Zeilen verkürzt habe. Als Trennzeichen wird Tabulator verwendet. Dass ich die Ausgabe mit VBA lösen muss habe ich mir schon fast gedacht. Mir kommt es in diesem Fall auch nicht auf ein paar Minuten Rechenzeit an, die Hauptsache ist, dass ich die überflüssigen Tabulatorzeichen weg bekomme .
@ Yal
Das mit Acess mag eine gute Idee sein, mein Problem ist nur, dass ich schon viel Zeit und Mühe in das Makro zur Bearbeitung gesteckt habe, ich um die Spalte "Well" zu ändern Rechnen muss und ich außerdem von Acess noch weit weniger Ahnung habe als von Excel. Genaugenommen beschränken sich meine Kenntnisse auf: "Ja das gibt es."
Grüße Dirk
Anzeige
AW: Export in Tab delim txt ohne überflüssige Tabs
15.10.2008 13:44:12
fcs
Hallo Dirk,
das folgende Makro exportiert die Daten aus den ersten beiden Tabellen der Arbeitsmappe zeilenweise in eine Textdatei.
Du muss prüfen, ob für deine Zwecke die Value oder die Text-Eigenschaft der Zellen in die Textdatei geschrieben werden soll und den Code ggf. anpassen.
Gruß
Franz

Sub Text_Export()
'Daten in ersten beiden Tabellen der aktiven Arbeitsmappe in eine Textdatei schreiben
Dim wbActive As Workbook, intI As Integer
Dim varDatei, wks As Worksheet, start As Date
Dim lngZeileLast As Long, lngSpalteMax As Long
Dim lngZeile As Long, intFF As Integer, strText As String
Dim lngSpalte As Long
Const strSep = vbTab 'Trennzeichen zwischen Daten-Spalten
On Error GoTo Fehler
varDatei = Application.GetSaveAsFilename(InitialFileName:="TestExport.txt", _
Filefilter:="Text(*.txt), *.txt", _
Title:="Bitte Namen für Export-Datei wählen oder eingeben und speichern")
If varDatei  False Then
start = Now
Set wbActive = ActiveWorkbook
intFF = FreeFile()
Open varDatei For Output As #intFF
For intI = 1 To 2 'Tabellenblatter 1 und 2 abarbeiten
Set wks = wbActive.Worksheets(intI)
With wks
'Letzte Zeile in Blatt ermitteln
lngZeileLast = .UsedRange.Row + .UsedRange.Rows.Count - 1
'Zeilen der Tabelle einlesen
For lngZeile = 1 To lngZeileLast
If lngZeile Mod 500 = 1 Then
Application.StatusBar = wks.Name & " Zeile " & lngZeile & " von " & lngZeileLast
End If
'Letzte Spalte in Zeile ermitteln
lngSpalteMax = .Cells(lngZeile, .Columns.Count).End(xlToLeft).Column
'Wert aus 1. Spalte einlesen
strText = .Cells(lngZeile, 1).Value ' ggf. Text-Eigenschaft
'Werte aus Spalten für Schritte einlesen
For lngSpalte = 2 To lngSpalteMax
strText = strText & strSep & .Cells(lngZeile, lngSpalte).Value 'ggf. Text-Eigenschaft
Next
Print #intFF, strText
Next
End With
Next
Close #intFF
MsgBox "Fertig" & vbLf & "Dauer: " & Format(Now - start, "hh:mm:ss")
End If
Fehler:
If Err.Number  0 Then
Select Case Err.Number
Case 999 '
Case Else
MsgBox "Fehler: " & Err.Number & vbLf & Err.Description
End Select
End If
Application.StatusBar = False
End Sub


Anzeige
Danke! Werd´s versuchen. oT
16.10.2008 10:42:00
Dirk

8 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige