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

Forumthread: Excel als TXT mit Semikolon

Excel als TXT mit Semikolon
16.06.2016 16:27:48
Thomas
Hallo,
wir haben bisher immer einer TXT Datei aus einer Exceldatei per Makro erstellen. Hier wurden die gefüllten Zellen per Semikolon getrennt.
Nun ist es aber so das im Programm welche dann die Datei importieren soll, eine Änderung notwendig geworden ist. Es müssten nun auch leere Zellen mit einem Semikolon eingetragen werden.
BSP:
Daten sind in den Spalten A1-K1, wobei B1 + C1 z. Bsp. leer sind. Die Textdatei müsste nun also folgenden Inhalt haben.
WertA1;;;WertD1;WertE1;WertF1;WertG1;WertH1;WertI1;WertJ1;WertK1
Mit dem bisherigen Makro hatten wir nur
WertA1;WertD1;WertE1;WertF1;WertG1;WertH1;WertI1;WertJ1;WertK1
Hier benötige ich bitte Unterstützung.
Vielen Dank.
Gruß, Tom

Sub txt_mit_Trennzeichen()
Dim fso As Object
Dim txt As Object
Dim z As Integer
Dim s As Integer
Dim temp As String
Dim TextDatei ' "" Then temp = temp & Cells(z, s) & ";"
Next s
If temp  "" Then
txt.writeline temp
temp = ""
End If
Next z
Set fso = Nothing
Set txt = Nothing
MsgBox "Die Textdatei wurde erstellt"
End Sub

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel als TXT mit Semikolon
16.06.2016 16:30:35
Rudi
Hallo,
lösche
If Cells(z, s)  "" Then 
Gruß
Rudi

Vielen Dank.
16.06.2016 16:37:18
Thomas
Ich bedanke mich recht herzlich.
Grüße aus Berlin.
Tom

AW: Excel als TXT mit Semikolon
16.06.2016 16:32:23
selli
hallo tom,
speichere als *.csv und benenne in *.txt um.
gruß
selli

Anzeige
AW: Excel als TXT mit Semikolon
16.06.2016 16:32:34
UweD
Hallo
so auf die schnelle, ungeprüft.
das durchgestrichene wegnehmen
For z = 1 To ActiveSheet.UsedRange.Rows.Count
For s = 1 To ActiveSheet.UsedRange.Columns.Count
If Cells(z, s) "" Then temp = temp & Cells(z, s) & ";"
Next s
If temp "" Then
txt.writeline temp
Gruß UweD

Anzeige
AW: Excel als TXT mit Semikolon
16.06.2016 16:38:53
Fennek
Hallo,
nur als Anregung:
um alle Zellen einer Zeile in einen Komma-getrennten Text umzuwandeln, hilft dieser Code:

Sub test()
Dim rng As Range
Set rng = Range("A1:E1")
Tx = Join(Application.Transpose(Application.Transpose(rng)), ";")
Debug.Print Tx
End Sub
Auch alle Leerzeilen werden durch ; getrennt aufgeführt.
Die Fleißaufgabe, die Ranges anzupassen, bzw eine Schleife über alle Zeilen überlasse ich dir.
Die Text, hier in der Variablen Tx, können direkt in eine Txt-Datei geschrieben werden (open Dateiname for writing as #1)
mfg

Anzeige
Open for writing?
16.06.2016 16:42:24
Rudi
den Modus gibt es nicht.
Output ist korrekt.
Gruß
Rudi
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel als TXT mit Semikolon speichern


Schritt-für-Schritt-Anleitung

Um eine Excel-Datei in eine TXT-Datei mit Semikolon als Trennzeichen umzuwandeln, kannst Du ein Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, wie Du es umsetzen kannst:

  1. Öffne Deine Excel-Datei.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  4. Füge den folgenden Code ein:

    Sub txt_mit_Trennzeichen()
        Dim fso As Object
        Dim txt As Object
        Dim z As Integer
        Dim s As Integer
        Dim temp As String
    
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set txt = fso.CreateTextFile("C:\Pfad\zu\deiner\datei.txt", True)
    
        For z = 1 To ActiveSheet.UsedRange.Rows.Count
            temp = ""
            For s = 1 To ActiveSheet.UsedRange.Columns.Count
                temp = temp & Cells(z, s) & ";"
            Next s
            ' Entferne das letzte Semikolon
            If Right(temp, 1) = ";" Then temp = Left(temp, Len(temp) - 1)
            txt.writeline temp
        Next z
    
        txt.Close
        Set fso = Nothing
        Set txt = Nothing
        MsgBox "Die Textdatei wurde erstellt"
    End Sub
  5. Ändere den Pfad in CreateTextFile zu dem gewünschten Speicherort.

  6. Führe das Makro aus, um die Excel-Datei in eine TXT-Datei mit Semikolon zu speichern.


Häufige Fehler und Lösungen

  • Problem: Es werden keine leeren Zellen mit Semikolon angezeigt.

    • Lösung: Entferne die Zeile If Cells(z, s) <> "" Then aus dem Code, um auch leere Zellen zu berücksichtigen.
  • Problem: Die Datei wird nicht korrekt gespeichert.

    • Lösung: Überprüfe den angegebenen Pfad, ob Du Schreibrechte hast.

Alternative Methoden

Eine einfache Methode, um eine Excel-Datei in eine TXT-Datei mit Semikolon getrennt umzuwandeln, besteht darin, die Datei als CSV zu speichern und dann die Dateiendung zu ändern. Gehe dazu folgendermaßen vor:

  1. Klicke auf Datei > Speichern unter.
  2. Wähle CSV (Comma delimited) (*.csv) als Dateityp.
  3. Benenne die Datei und speichere sie.
  4. Ändere die Dateiendung von .csv auf .txt.

Diese Methode ist besonders nützlich, wenn Du die Excel-Datei in TXT umwandeln möchtest, aber nicht mit VBA arbeiten möchtest.


Praktische Beispiele

Angenommen, Du hast die folgenden Daten in Excel:

A1 B1 C1 D1
WertA1 WertD1

Wenn Du die Excel-Datei in eine TXT-Datei mit Semikolon umwandelst, sollte der Inhalt der TXT-Datei so aussehen:

WertA1;;;WertD1

Durch das richtige Anpassen des Makros kannst Du sicherstellen, dass leere Zellen korrekt mit Semikolon getrennt werden.


Tipps für Profis

  • Nutze Debug.Print im VBA-Code, um den Inhalt vor dem Schreiben in die Datei zu überprüfen.
  • Experimentiere mit Schleifen, um mehrere Zeilen in einem Rutsch zu verarbeiten.
  • Wenn Du häufig mit solchen Umwandlungen arbeitest, erstelle eine Vorlage für Dein Makro, um die Effizienz zu steigern.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass die leeren Zellen mit Semikolon getrennt werden?
Entferne die Bedingung, die leere Zellen ignoriert, indem Du die entsprechende Zeile im VBA-Code löschst.

2. Kann ich die CSV-Datei auch direkt in eine TXT-Datei umwandeln?
Ja, Du kannst die CSV-Datei speichern und einfach die Dateiendung ändern, um sie als TXT-Datei zu verwenden.

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