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

Import einer Textdatei ohne Trennzeichen

Forumthread: Import einer Textdatei ohne Trennzeichen

Import einer Textdatei ohne Trennzeichen
10.07.2002 13:06:08
Bongartz
Hallo

ich möchte in Excel Textdateien über eine Userform importieren.
Die Textdateien haben keine Trennzeichen aber immer feste Feldlängen. (z.B. 14,14,14,10,5,30,12 usw.)
Die Satzlänge ist maximal 250 Zeichen.
Die Anzahl der Datensätze ist verschieden.

Wie kann ich diese Dateien in Excel per VBA einlesen?

Wie kann ich erreichen das die Daten als Text importiert werden?

Vielen Dank im voraus

Gruß
Bongartz

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
habe Lösung gefunden
10.07.2002 17:00:46
Bongartz
So funktionierts:

Sub PricatImport()
    ActiveWorkbook.Worksheets.Add
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\Dokumente\Pricat.txt", Destination:=Range("A1"))
        .Name = "Wilms"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = xlWindows
        .TextFileStartRow = 1
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, _
        2)
        .TextFileFixedColumnWidths = Array(14, 14, 14, 10, 5, 30, 12, 7, 2, 2, 3, 3, 9, 7, 4, 7, 7, _
        8, 8, 5, 2)
        .Refresh BackgroundQuery:=False
    End With
    
End Sub
     Code eingefügt mit Syntaxhighlighter 1.13


Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Import einer Textdatei ohne Trennzeichen in Excel


Schritt-für-Schritt-Anleitung

Um eine Textdatei ohne Trennzeichen in Excel zu importieren, kannst Du die folgende VBA-Methode verwenden. Diese Methode eignet sich besonders, wenn die Textdatei feste Feldlängen hat. Hier sind die Schritte:

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

  2. Gehe zu Einfügen > Modul, um ein neues Modul zu erstellen.

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

    Sub PricatImport()
       ActiveWorkbook.Worksheets.Add
       With ActiveSheet.QueryTables.Add(Connection:= _
           "TEXT;C:\Dokumente\Pricat.txt", Destination:=Range("A1"))
           .Name = "Wilms"
           .FieldNames = True
           .RowNumbers = False
           .FillAdjacentFormulas = False
           .PreserveFormatting = True
           .RefreshOnFileOpen = False
           .RefreshStyle = xlInsertDeleteCells
           .SavePassword = False
           .SaveData = True
           .AdjustColumnWidth = True
           .RefreshPeriod = 0
           .TextFilePromptOnRefresh = False
           .TextFilePlatform = xlWindows
           .TextFileStartRow = 1
           .TextFileParseType = xlFixedWidth
           .TextFileTextQualifier = xlTextQualifierDoubleQuote
           .TextFileConsecutiveDelimiter = False
           .TextFileTabDelimiter = True
           .TextFileSemicolonDelimiter = False
           .TextFileCommaDelimiter = False
           .TextFileSpaceDelimiter = False
           .TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, _
           2)
           .TextFileFixedColumnWidths = Array(14, 14, 14, 10, 5, 30, 12, 7, 2, 2, 3, 3, 9, 7, 4, 7, 7, _
           8, 8, 5, 2)
           .Refresh BackgroundQuery:=False
       End With
    End Sub
  4. Passe den Dateipfad C:\Dokumente\Pricat.txt an, um den Pfad Deiner Textdatei anzugeben.

  5. Schließe den VBA-Editor und führe das Makro aus, indem Du ALT + F8 drückst und PricatImport auswählst.


Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"

    • Überprüfe den angegebenen Dateipfad. Stelle sicher, dass die Datei tatsächlich existiert und der Pfad korrekt ist.
  • Fehler: "Daten werden nicht richtig importiert"

    • Achte darauf, dass die Feldlängen im Code korrekt angegeben sind. Diese müssen mit den tatsächlichen Längen der Daten in der Textdatei übereinstimmen.

Alternative Methoden

Wenn Du keine VBA-Programmierung verwenden möchtest, kannst Du auch die integrierte Importfunktion von Excel nutzen:

  1. Gehe zu Daten > Daten abrufen > Aus Datei > Aus Text/CSV.
  2. Wähle Deine Textdatei aus und klicke auf Importieren.
  3. Wähle die Option für Feste Breite bei den Importoptionen und passe die Spalten entsprechend an.

Diese Methode ist benutzerfreundlich, erfordert jedoch mehr manuelle Anpassungen.


Praktische Beispiele

Angenommen, Du hast eine Textdatei mit den folgenden Daten:

12345678901234JohnDoe       30
12345678901234JaneSmith     25

Die Feldlängen sind: 14,14,10,5. Nach dem Import solltest Du die Daten in Excel wie folgt sehen:

ID Vorname Nachname Alter
12345678901234 John Doe 30
12345678901234 Jane Smith 25

Tipps für Profis

  • Verwende Option Explicit am Anfang Deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind. Das hilft, Fehler zu vermeiden.
  • Teste Dein Makro mit einer kleinen Textdatei, bevor Du es mit größeren Datenmengen ausführst, um sicherzustellen, dass alles korrekt funktioniert.
  • Dokumentiere Deinen Code, um später leichter Änderungen vornehmen zu können.

FAQ: Häufige Fragen

1. Kann ich auch andere Dateiformate importieren? Ja, Du kannst auch CSV- oder Excel-Dateien importieren, indem Du die entsprechenden Importoptionen in Excel oder VBA anpasst.

2. Funktioniert das auch in Excel Online? Das Importieren von Textdateien über VBA funktioniert nicht in Excel Online. Du musst die Desktop-Version verwenden.

3. Kann ich die Feldlängen dynamisch anpassen? Ja, Du kannst die Feldlängen in Deinem VBA-Code programmatisch anpassen, indem Du die Daten zuerst analysierst und die Längen entsprechend festlegst.

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