Excel-Dateien als .txt speichern mit VBA
Schritt-für-Schritt-Anleitung
Um Excel-Dateien als .txt zu speichern, kannst Du das folgende VBA-Skript verwenden:
Sub text()
Dim i As Integer
Dim Home As String
Home = ThisWorkbook.Path ' Aktueller Pfad der Excel-Datei
Application.DisplayAlerts = False
For i = 1 To Worksheets.Count
Worksheets(i).Activate
ActiveWorkbook.SaveAs Filename:=Home & "\" & Sheets(i).Name & ".txt", FileFormat:=xlText
Next i
Application.DisplayAlerts = True
End Sub
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu starten.
- Füge ein neues Modul hinzu (Rechtsklick auf „VBAProject (DeineDatei)“ > Einfügen > Modul).
- Kopiere den obigen Code in das Modul.
- Schließe den VBA-Editor und kehre zu Excel zurück.
- Führe das Makro aus, um die Inhalte aller Tabellenblätter als .txt-Dateien zu speichern.
Häufige Fehler und Lösungen
Alternative Methoden
Eine einfache Alternative zur Speicherung von Excel-Daten als .txt-Dateien ist die Verwendung von Open
und Print
:
Sub SaveAsTxtAlternative()
Open "C:\test.txt" For Output As #1
Print #1, "Dein Inhalt muss ein String sein!"
Close #1
End Sub
Diese Methode eignet sich jedoch eher für das Speichern von Textinhalten anstelle von kompletten Arbeitsblättern.
Praktische Beispiele
Um die Funktionsweise zu demonstrieren, hier ein Beispiel für das Speichern einer Excel-Tabelle:
Angenommen, Du hast ein Arbeitsblatt mit dem Namen „Umsatz“ und möchtest es als .txt speichern. Mit dem obigen VBA-Code wird eine Datei mit dem Namen „Umsatz.txt“ im gleichen Verzeichnis wie Deine Excel-Datei erstellt.
Tipps für Profis
-
Wenn Du das Makro häufig verwendest, kannst Du einen Button in der Symbolleiste hinzufügen, um das Makro schnell auszuführen. Gehe dazu auf „Ansicht“ > „Symbolleisten“ > „Anpassen“ und ziehe das Makro in die Symbolleiste.
-
Nutze die FileFormat
-Option, um andere Dateiformate zu speichern, z.B. xlCSV
für CSV-Dateien, wenn Du die Daten im CSV-Format benötigst.
FAQ: Häufige Fragen
1. Wie kann ich den Pfad für die .txt-Dateien ändern?
Du kannst den Speicherort im ActiveWorkbook.SaveAs
-Befehl anpassen. Ersetze Home
mit dem gewünschten Pfad.
2. Kann ich mehrere Arbeitsblätter gleichzeitig speichern?
Ja, der obige Code speichert alle Arbeitsblätter der aktuellen Arbeitsmappe als separate .txt-Dateien.
3. Funktioniert dieser Code in Excel 2016 und 365?
Ja, der VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren, solange Du Zugriff auf den VBA-Editor hast.