VBA Excel Export in TXT mit TABs
Schritt-für-Schritt-Anleitung
Um Deine Excel-Daten mit einem VBA-Makro in eine TXT-Datei zu exportieren und dabei Tabulatoren zu verwenden, folge diesen Schritten:
-
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu starten.
-
Füge ein neues Modul ein, indem Du mit der rechten Maustaste auf „VBAProject“ klickst und „Einfügen“ > „Modul“ wählst.
-
Kopiere den folgenden Code in das Modul:
Sub prcDatenExport(wks As Worksheet)
Dim vntData, vntTmp(), strTmp As String, intFile As Integer
Dim i As Long, j As Long
Const strFile As String = "D:\Mieterdatenbank\Versuch\test.txt" 'Anpassen
Const strDelim As String = vbTab 'Trennzeichen Tab
intFile = FreeFile
vntData = wks.Range("A1").CurrentRegion
ReDim vntTmp(1 To UBound(vntData, 2))
Open strFile For Output As intFile
For i = 1 To UBound(vntData)
For j = 1 To UBound(vntData, 2)
vntTmp(j) = vntData(i, j)
Next
strTmp = Join(vntTmp, strDelim)
Print #intFile, strTmp
Next i
Close intFile
End Sub
-
Passe den Dateipfad in strFile
an, damit er zu Deinem System passt.
-
Rufe die Funktion auf, indem Du ein weiteres Makro erstellst:
Sub tt()
prcDatenExport Sheets("Daten")
End Sub
-
Schließe den VBA-Editor und führe das Makro tt
aus.
Häufige Fehler und Lösungen
-
Problem: Währungsdaten werden nicht korrekt exportiert (z.B. als „100“ anstelle von „100,00 €“).
- Lösung: Stelle sicher, dass Du die
.Text
-Eigenschaft der Zellen verwendest, um den genauen Textinhalt zu exportieren. Ändere den Code wie folgt:
vntTmp(lngColumn) = .Cells(lngRow, lngColumn).Text
-
Problem: TXT-Datei hat nicht das richtige Format für PDF.
- Lösung: Speichere die TXT-Datei im UTF-8 Format mit BOM. Dies kann mit zusätzlichem Code erreicht werden, den Du in die Datei einfügen musst.
Alternative Methoden
Eine einfache Möglichkeit, Daten aus Excel in TXT-Dateien zu exportieren, ist die Verwendung der integrierten „Speichern unter“-Funktion. Wähle „Text (Tabstopp-getrennt)“ im Speichern-unter-Dialog. Dies erfordert jedoch manuelle Anpassungen und ist weniger flexibel als das VBA-Makro.
Praktische Beispiele
Angenommen, Du hast eine Excel-Tabelle mit den folgenden Daten:
Name |
Telefon |
Straße |
Klaus |
017222 |
Musterstraße 1 |
Nach dem Ausführen des Makros wird die TXT-Datei so aussehen:
Klaus 017222 Musterstraße 1
Diese Daten kannst Du dann problemlos in andere Formate (wie PDF) importieren.
Tipps für Profis
- Verwende
vbTab
für das Trennzeichen, um sicherzustellen, dass die Daten korrekt in Excel importiert werden können.
- Wenn Du mehrere Arbeitsblätter exportieren möchtest, könntest Du eine Schleife erstellen, die durch alle benötigten Blätter iteriert.
- Für eine bessere Übersichtlichkeit der exportierten Daten kannst Du die Datei nach jedem Export in einen spezifischen Ordner verschieben.
FAQ: Häufige Fragen
1. Wie kann ich sicherstellen, dass die Währungsdaten korrekt exportiert werden?
Verwende die .Text
-Eigenschaft der Zellen, um den exakten Inhalt zu erhalten.
2. Wie kann ich die TXT-Datei im UTF-8 Format speichern?
Dafür musst Du zusätzliche VBA-Funktionen verwenden, um das richtige Encoding sicherzustellen.
3. Kann ich das Makro anpassen, um nur bestimmte Spalten zu exportieren?
Ja, Du kannst die Schleife so anpassen, dass nur die gewünschten Spalten in das vntTmp
Array geschrieben werden.