Export von Excel in eine Tab-delimited TXT-Datei ohne überflüssige Tabs
Schritt-für-Schritt-Anleitung
Um Deine Daten aus Excel in eine Tab-delimited TXT-Datei zu exportieren, ohne überflüssige Tabs am Ende der Zeilen, kannst Du das folgende VBA-Makro nutzen. Dieses Makro exportiert die Daten aus den ersten beiden Tabellen der Arbeitsmappe:
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Klicke auf
Einfügen
> Modul
, um ein neues Modul zu erstellen.
- Kopiere den folgenden Code in das Modul:
Sub Text_Export()
'Daten in den 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 'Tabellenblätter 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
'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
- Schließe den VBA-Editor und gehe zurück zu Excel.
- Drücke
ALT + F8
, wähle Text_Export
und klicke auf Ausführen
.
Dieses Makro exportiert die Daten in eine TXT-Datei, wobei als Trennzeichen der Tabulator verwendet wird.
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Methode ist die Verwendung von Access, insbesondere wenn Du mit sehr großen Datenmengen arbeitest. Access kann die Daten effizienter verwalten und bietet mehr Möglichkeiten zur Datenbearbeitung. Der Prozess wäre ähnlich: Daten importieren, bearbeiten und dann exportieren.
Praktische Beispiele
Wenn Du eine Excel-Datei mit mehreren Tabellen hast und nur bestimmte Daten exportieren möchtest, kannst Du das VBA-Makro entsprechend anpassen. Füge Bedingungen hinzu, um nur bestimmte Spalten oder Zeilen zu exportieren, basierend auf Deinen Anforderungen.
Tipps für Profis
- Nutze die
Text-Eigenschaft
der Zellen, wenn Du sicherstellen möchtest, dass die Formatierung der Daten beim Export beibehalten wird.
- Experimentiere mit dem
strSep
, um andere Trennzeichen zu verwenden, falls Du nicht nur Tabulatoren benötigst.
FAQ: Häufige Fragen
1. Wie kann ich das Makro anpassen, um nur bestimmte Spalten zu exportieren?
Du kannst die Schleife, die die Spalten durchläuft, anpassen und nur die gewünschten Spalten einfügen.
2. Funktioniert dieses Makro in allen Excel-Versionen?
Das Makro sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen, wie Excel 2010 und später.