Wie kann ich bestimmte Teile einer ASCII-Datei in Excel importieren?

...komplette Frage anzeigen

1 Antwort

Der Teufel steckt im Zweifel im Detail. Kann der restliche Text nach dem ABB... komplett übernommen werden bis zum Ende der Zeile oder muss man irgendwo aufhören?

Das ganze könntest Du manuell mit ein paar Formeln machen. Über Ribbon Daten > Externe Daten abrufen > aus Text kannst Du die Datei importieren.

In eine Hilfsspalte:
=WENNFEHLER(SUCHEN("ABB00090";A1);SUCHEN("ABB90090";A1))

Über den Autofilter die Zeilen mit #Wert selektieren und löschen. Die Zahl ist die Stelle, an der der Suchtext in der Zelle erscheint. Spielt erstmal keine Rolle, wo der Text steht, entscheidend ist ja, dass er in der Zeile enthalten ist.

Das Aufteilen des Textes kann man auch über Formeln machen oder falls die Länger immer gleich ist über Daten > Text in Spalten.

Alternativ geht das ganze per Makro. Ich hab eine alte Antwort rausgekramt
https://www.gutefrage.net/frage/wie-basisdaten-von-kommunen-aus-wikipedia-nach-excel-exportieren

und auf die Schnelle umgestrickt. Bei mir klappt es, allerdings kenne ich natürlich nicht Deine genauen Daten. Im Zweifel nachfragen, was noch anzupassen ist.

Sub TextImport()
Dim i As Long
Dim iFile As Integer
Dim sSearch As String, sTxt As String
Dim sFile As String
i = 1

sFile = "c:\users\mustermann\desktop\test.txt" 'Pfad entsprechend anpassen
iFile = FreeFile
Open sFile For Input As iFile
Do Until EOF(1)
Input #iFile, sTxt
If InStr(sTxt, "ABB0009") Then
Cells(i, 1).Value = Mid(sTxt, InStr(sTxt, "ABB0009"), 8)
Cells(i, 2).Value = Mid(sTxt, InStr(sTxt, "ABB0009") + 9, 99)
i = i + 1
End If
If InStr(sTxt, "ABB9009") Then
Cells(i, 1).Value = Mid(sTxt, InStr(sTxt, "ABB9009"), 8)
Cells(i, 2).Value = Mid(sTxt, InStr(sTxt, "ABB9009") + 9, 99)
i = i + 1
End If

Loop
Close iFile

End Sub

Danke!!! Es macht was es soll! :)

Habe nur noch ein paar Kleinigkeiten für mich ergänzen müssen!

0

Was möchtest Du wissen?