Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Textdatei mit Trennzeichen einlesen

Forumthread: Textdatei mit Trennzeichen einlesen

Textdatei mit Trennzeichen einlesen
Mike
Hallo,
ich will eine Textdatei über ein Makro einlesen. Dabei sind die einzelnen Werte mit semikolon getrennt. Ich möchte jedoch nicht, dass Excel die Datei als Arbeitsmappe öffnet, sondern dass die Verarbeitung im Hintergrund abläuft. Gibt es eine Möglichkeit, die Werte einfach zu trennen?
Gruß
Mike
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Textdatei mit Trennzeichen einlesen
Karl-Otto
Hallo Mike
Hier ein Versuch:

Sub OS_IMP()
Dim sWord As String, sPath As String, sSearchPath As String, FileName As String, InputData
Dim AnzFound As Integer
AnzFound = 0
sWord = ";"
sSearchPath = "c:\vt\Pfad\*.txt"
sPath = "c:\vt\Pfad\"
FileName = Dir(sSearchPath)
If FileName <> "" Then
Do While FileName <> ""
Open sPath & FileName For Input As #1
Do While Not EOF(1)
Line Input #1, InputData
If InStr(1, InputData, sWord) > 0 Then
AnzFound = AnzFound + 1
Sheets("Tabelle1").Cells(AnzFound, 11) = FileName
Sheets("Tabelle1").Cells(AnzFound, 10) = InputData
End If
Loop
Close #1
FileName = Dir
Loop
End If
End Sub

Gruß
KO
Anzeige
AW: Textdatei mit Trennzeichen einlesen
Nepumuk
Hallo Mike,
beispielsweise so:

Sub Textdatei_einlesen()
Dim intFile As Integer, intIndex As Integer, intSpalte As Integer
Dim lngZeile As Integer
Dim strText As String, strPart As String
intFile = FreeFile
Open "D:\Eigene Dateien\test.txt" For Input Access Read Lock Read As #intFile
Do Until EOF(intFile)
Input #intFile, strText
strText = strText & ";"
lngZeile = lngZeile + 1
intSpalte = 0
For intIndex = 1 To Len(strText)
If Mid(strText, intIndex, 1) <> ";" Then
strPart = strPart & Mid(strText, intIndex, 1)
Else
intSpalte = intSpalte + 1
Cells(lngZeile, intSpalte) = strPart
strPart = ""
End If
Next
Loop
Close #intFile
End Sub

Gruß
Nepumuk
Anzeige
AW: Textdatei mit Trennzeichen einlesen
Mike
Danke!
Genau so meinte ich es!!
Gruß
Mike
;
Anzeige
Anzeige

Infobox / Tutorial

Textdatei mit Trennzeichen in Excel einlesen


Schritt-für-Schritt-Anleitung

Um eine Textdatei, die mit Semikolons getrennte Werte enthält, in Excel einzulesen, kannst du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke im Menü auf Einfügen und wähle Modul.

  3. Füge den folgenden Code in das Modul ein:

    Sub Textdatei_einlesen()
        Dim intFile As Integer, intIndex As Integer, intSpalte As Integer
        Dim lngZeile As Integer
        Dim strText As String, strPart As String
        intFile = FreeFile
        Open "D:\Eigene Dateien\test.txt" For Input Access Read Lock Read As #intFile
        Do Until EOF(intFile)
            Input #intFile, strText
            strText = strText & ";"
            lngZeile = lngZeile + 1
            intSpalte = 0
            For intIndex = 1 To Len(strText)
                If Mid(strText, intIndex, 1) <> ";" Then
                    strPart = strPart & Mid(strText, intIndex, 1)
                Else
                    intSpalte = intSpalte + 1
                    Cells(lngZeile, intSpalte) = strPart
                    strPart = ""
                End If
            Next
        Loop
        Close #intFile
    End Sub
  4. Ändere den Pfad zur Textdatei in der Zeile Open "D:\Eigene Dateien\test.txt" auf den Speicherort deiner Datei.

  5. Führe das Makro aus, um die Inhalte der Textdatei in dein Excel-Blatt einzulesen.


Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"

    • Stelle sicher, dass der Pfad zur Textdatei korrekt ist und die Datei existiert.
  • Fehler: Daten erscheinen in einer Zeile

    • Überprüfe, ob die Daten in der Textdatei tatsächlich mit Semikolons getrennt sind. Manchmal können andere Trennzeichen verwendet werden.
  • Fehler: Excel stürzt ab

    • Achte darauf, dass die Textdatei nicht zu groß ist, da dies Excel überlasten kann. Versuche, die Datei in kleinere Teile zu splitten.

Alternative Methoden

Wenn du keine VBA-Makros verwenden möchtest, kannst du die Textdatei auch direkt in Excel importieren:

  1. Öffne Excel und gehe zu Daten > Aus Text/CSV.
  2. Wähle die Textdatei aus und klicke auf Importieren.
  3. Wähle unter Trennzeichen das Semikolon aus und klicke auf Laden.

Diese Methode ist besonders nützlich, wenn du nur gelegentlich Texte einlesen möchtest.


Praktische Beispiele

Hier ist ein praktisches Beispiel, wie du eine Textdatei mit semikolon-getrennten Werten einlesen kannst:

Angenommen, deine Textdatei (test.txt) sieht so aus:

Name;Alter;Stadt
Max;25;Berlin
Anna;30;Hamburg
Tom;22;München

Nach dem Ausführen des Makros wird die Datei folgendermaßen in Excel dargestellt:

Name Alter Stadt
Max 25 Berlin
Anna 30 Hamburg
Tom 22 München

Tipps für Profis

  • Optimierung des Codes: Du kannst den Code optimieren, indem du Arrays verwendest, um die Leistung beim Einlesen großer Dateien zu verbessern.
  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um unerwartete Fehler während des Einlesens abzufangen.
  • Automatisierung: Kombiniere das Einlesen mit anderen Makros, um Daten zu analysieren oder weitere Verarbeitungsschritte durchzuführen.

FAQ: Häufige Fragen

1. Wie kann ich eine andere Textdatei einlesen?
Ändere einfach den Pfad in der Open-Anweisung auf die gewünschte Datei.

2. Kann ich auch andere Trennzeichen verwenden?
Ja, ändere die Variable sWord im Code auf das gewünschte Trennzeichen (z.B. "," für Komma).

3. Funktioniert das in allen Excel-Versionen?
Der Code funktioniert in den meisten modernen Excel-Versionen, einschließlich Excel 2013, 2016, 2019 und Microsoft 365.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige