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

Forumthread: Bestimmte Werte aus TXT in Excel importieren

Bestimmte Werte aus TXT in Excel importieren
02.07.2018 16:19:53
Dennis
Moin aus Bremen,
ich bräuchte mal Hilfe und habe leider in der Suche nichts passendes gefunden.
Ich habe mehrere TXT Dateien in einem Ordner die alle gleich aufgebaut sind.
Hier habe ich mal ein Beispiel hochgeladen:
https://www.herber.de/bbs/user/122447.txt
aus diesen TXT Datei möchte ich gerne nur bestimmte Werte in eine Excel Tabelle eintragen lassen.
Diese sollte dann so aussehen.
Ich habe die Werte mit der entsprechenden Überschrift mal markiert.
https://www.herber.de/bbs/user/122448.xlsx
Ich habe schon nach Lösungen über die Positionen der Werte in einer TXT gesucht aber leider nichts gefunden.
Leider bin ich was VBA angeht eine völlige Niete.
Ich versuche mal die Positionen der Werte anzugeben:
Actype Ln16, Col6 Wert: A320__
minimum Ln19, Col21 Wert: .61300E+00
max payload Ln19, Col 47 Wert: .33000E+00
Max.Alt Ln22, Col 34 Wert: .41000E+05
Cruise Corr. Ln56, Col 8 Wert: .96358E+00
Würde mich freuen wenn mir da jemand weiterhelfen kann.
Liebe Grüße
Dennis
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bestimmte Werte aus TXT in Excel importieren
02.07.2018 17:43:59
Cardexperte
Hallo,
also ohne etwas Programmierung wird es nicht gehen,
wie ich in der TXT-Datei sehe. beginnen die Daten die selektiv ausgelesen werden sollen immer mit der Zeile CD, die Überschriften sind dann klar und dann braucht man nur die weiteren Zeichen in einer Schleife auslesen und nach Excel in die entsprechende Zelle schreiben,
z.B. das erste mal wenn er CD findet, dann soll er die nächsten 6 Zeichen auslesen (ohne die ersten Lehrzeichen,
beim 2. mal CD Zeichen 18 bis 28
beim nächsaten CD Zeichen ? bis ? usw. Vorraussetzung ist aber, dass der Aufbau dieser Datei immer gleich ist.
Viele Grüße
Anzeige
AW: Bestimmte Werte aus TXT in Excel importieren
03.07.2018 14:55:20
Cardexperte
hier mal ganz schnell deine Datei mit Makro zurück, Bemerkung sind im Code enthalten (alt+F11)
Gruss WS
AW: Bestimmte Werte aus TXT in Excel importieren
03.07.2018 17:34:25
Dennis
Moin,
haha hab gerade gesehen das du mir was geschrieben hast.
Habe bis eben gerade auch dran gesessen und wollte mein Ergebniss präsentieren.
Aber vielen Dank für die Bemühungen.
Auch mal interessant das mit Case zu sehen.
Sub ImportierenOPFile()
'Variablen definieren
Dim datei As String             'Speicherort der TextDateien
Dim zeile As String             'Laufvariable
Dim inhalt As String            'Inhalt der TextDateien
Dim actype As String            'Actype
Dim min As String               'DOW
Dim maxpay As String            'maximal Payload
Dim alt As String               'Flightlevel
Dim fuel As String              'Fuel Consumption
'QuellDatei ansprechen
datei = "E:\BADA_3.13\A3ST__.OPF"
'QuellDatei öffen
Open datei For Input As #1
'Informationen in das Tabellenblatt eintragen
Do While Not EOF(1)     'Schleife bis End of File, Datenende
'Inhalt der QuellDatei der gewünschten Zeilen einlesen
Line Input #1, zeile
inhalt = inhalt & zeile
Loop
'QuellDatei schließen
Close #1
'Suche nach Textstring in QuellDatei
actype = InStr(inhalt, "Actype")
min = InStr(inhalt, "minimum")
maxpay = InStr(inhalt, "max payload")
alt = InStr(inhalt, "Max.Alt")
fuel = InStr(inhalt, "Cruise Corr.")
'Wert in das Tabellenblatt eintragen
Range("A1").Value = Mid(inhalt, actype + 67, 4)
Range("B1").Value = Mid(inhalt, min + 71, 9)
Range("C1").Value = Mid(inhalt, maxpay + 72, 9)
Range("D1").Value = Mid(inhalt, alt + 71, 9)
Range("E1").Value = Mid(inhalt, fuel + 73, 10)
End Sub

Anzeige
AW: Bestimmte Werte aus TXT in Excel importieren
03.07.2018 17:37:59
Dennis
Moin WS
Gibt es auch eine Möglichkeit mehrere TXT Dateien gleichzeitig auszuwählen und zu importieren ?
Was müsste ich ändern ?
Gruß
Dennis
AW: Bestimmte Werte aus TXT in Excel importieren
03.07.2018 20:44:53
Cardexperte
ohne es nun selbst auszuprobieren sollte das gehen, suche mal unter VBA mehrere Dateien einlesen, da gibt es sogar Videos, aber auch fertigen Code, massenweise, in meinem Beispiel würde ich ein Formular machen mit einer Schleife der Auswahl Datei (weitere) laden (alter Code mit Menü, siehe mein Beispiel), und Abbrechen und nur bei Abbrechen gehe ich dann wieder aus der Endlosschleife heraus, falls du nicht klar kommst, melde dich einfach, aber heute habe ich keine Zeit, aber auch das automatische Einlesen aller TXT-Datei eines Verzeichnissen wäre möglich, natürlich muss dann immer eine neue Mappe für die Daten angelegt werden, kein Problem
Gruss WS
Anzeige
AW: Bestimmte Werte aus TXT in Excel importieren
04.07.2018 10:11:36
Cardexperte
hier die Datei zurück, noch etwas einfacher, ohne extra Formular
https://www.herber.de/bbs/user/122471.xlsm,
aber immer nur einzelne Datei (OPD) auswählen, weitere Möglichkeit: es müsste auch gehen mit getopenfilename auch mehrere Dateien gleichzeitig zu laden, Option true,
Gruss WS
Anzeige
AW: Bestimmte Werte aus TXT in Excel importieren
05.07.2018 16:50:50
Dennis
Hallo Cardexperte,
ich danke Dir für deine nette liebe Hilfe.
Ich daraus echt viel mitnehmen.
Lieben Dank Dir
Gruß
Dennis
AW: Bestimmte Werte aus TXT in Excel importieren
05.07.2018 17:22:52
Dennis
Ich habe ausversehen das Kontrollkästchen aktiviert. Wie kann ich das bearbeiten ? Die Frage ist beantwortte. Sorry
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Bestimmte Werte aus TXT in Excel importieren


Schritt-für-Schritt-Anleitung

Um Daten aus einer Textdatei in Excel zu importieren, kannst Du eine einfache VBA-Lösung verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

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

  2. Füge ein neues Modul hinzu:

    • Klicke auf Einfügen > Modul.
  3. Kopiere den folgenden Code in das Modul:

    Sub ImportierenOPFile()
        'Variablen definieren
        Dim datei As String             ' Speicherort der TextDateien
        Dim zeile As String             ' Laufvariable
        Dim inhalt As String            ' Inhalt der TextDateien
        Dim actype As String            ' Actype
        Dim min As String               ' DOW
        Dim maxpay As String            ' maximal Payload
        Dim alt As String               ' Flightlevel
        Dim fuel As String              ' Fuel Consumption
    
        ' QuellDatei ansprechen
        datei = "E:\BADA_3.13\A3ST__.OPF" ' Passe den Pfad an
    
        ' QuellDatei öffnen
        Open datei For Input As #1
    
        ' Informationen in das Tabellenblatt eintragen
        Do While Not EOF(1) ' Schleife bis End of File
            Line Input #1, zeile
            inhalt = inhalt & zeile
        Loop
    
        ' QuellDatei schließen
        Close #1
    
        ' Suche nach Textstring in QuellDatei
        actype = InStr(inhalt, "Actype")
        min = InStr(inhalt, "minimum")
        maxpay = InStr(inhalt, "max payload")
        alt = InStr(inhalt, "Max.Alt")
        fuel = InStr(inhalt, "Cruise Corr.")
    
        ' Wert in das Tabellenblatt eintragen
        Range("A1").Value = Mid(inhalt, actype + 67, 4)
        Range("B1").Value = Mid(inhalt, min + 71, 9)
        Range("C1").Value = Mid(inhalt, maxpay + 72, 9)
        Range("D1").Value = Mid(inhalt, alt + 71, 9)
        Range("E1").Value = Mid(inhalt, fuel + 73, 10)
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus, indem Du ALT + F8 drückst und das Makro auswählst.


Häufige Fehler und Lösungen

  • Fehler: Datei nicht gefunden
    Überprüfe den Pfad zur Textdatei. Stelle sicher, dass die Datei existiert und der Pfad korrekt ist.

  • Fehler: Daten werden nicht korrekt importiert
    Achte darauf, dass die Struktur der TXT-Datei immer gleich ist. Änderungen in der Struktur können das Skript stören.

  • Fehler: Makro funktioniert nicht
    Stelle sicher, dass die Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center und aktiviere die Makros.


Alternative Methoden

Es gibt mehrere Möglichkeiten, TXT-Dateien in Excel zu importieren:

  1. Textimport-Assistent: Du kannst die TXT-Datei über Daten > Daten abrufen > Aus Text/CSV importieren und dann im Assistenten die benötigten Optionen einstellen.

  2. Power Query: In neueren Excel-Versionen kannst Du Power Query nutzen, um Daten aus Textdateien zu importieren und zu transformieren. Gehe zu Daten > Daten abrufen > Aus Datei > Aus Text/CSV.

  3. Makros für mehrere Dateien: Wenn Du mehrere TXT-Dateien gleichzeitig importieren möchtest, kannst Du den Code anpassen, um eine Schleife für das Einlesen mehrerer Dateien zu implementieren.


Praktische Beispiele

Hier sind einige Beispiele, wie Du Daten aus TXT in Excel importieren kannst:

  • Einzelne Datei: Das oben angegebene Makro importiert Daten aus einer spezifischen TXT-Datei, die den vorgegebenen Aufbau hat.

  • Mehrere Dateien: Du kannst den Code anpassen, um eine Auswahlbox für mehrere Dateien zu integrieren:

    Dim FileNames As Variant
    FileNames = Application.GetOpenFilename("Text Files (*.txt), *.txt", , "Wähle die TXT-Dateien", , True)
    
    If IsArray(FileNames) Then
        For i = LBound(FileNames) To UBound(FileNames)
            ' Importiere hier jede Datei mit dem oben genannten Code
        Next i
    End If

Tipps für Profis

  • Daten validieren: Stelle sicher, dass die importierten Daten den erwarteten Typen entsprechen, um Fehler in der Analyse zu vermeiden.

  • Automatisierung: Nutze VBA, um den Importprozess zu automatisieren, besonders wenn Du regelmäßig Daten von TXT-Dateien importierst.

  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen in Deinem VBA-Code, um Probleme beim Import frühzeitig zu erkennen.


FAQ: Häufige Fragen

1. Wie kann ich mehrere TXT-Dateien gleichzeitig importieren?
Du kannst eine Schleife im VBA-Code verwenden, um alle Dateien in einem Verzeichnis zu importieren. Verwende FileSystemObject, um durch alle TXT-Dateien zu iterieren.

2. Was mache ich, wenn die Daten nicht richtig angezeigt werden?
Überprüfe die Struktur der TXT-Datei und stelle sicher, dass die Indizes im VBA-Code korrekt sind. Manchmal kann eine Änderung in der Datei zu unerwarteten Ergebnissen führen.

3. Kann ich auch CSV-Dateien importieren?
Ja, der Importprozess für CSV-Dateien ist sehr ähnlich. Du kannst die gleiche Technik anwenden, indem Du den Dateityp anpasst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige