Ich plage mich mit einem Problem: Ich muss oft Textdateien zur Weiterverarbeitung in Excel importieren. Deshalb habe ich mir zu diesem Zweck ein Makro geschrieben. Ich benutze "Line Input", da nur bestimmte Zeilen importiert werden sollen.
Bis hier alles toll, aber: Kann ich VBA beibringen, die Spalten automatisch zu erkennen?
Das Problem ist: Es handelt sich um viele unterschiedliche Text-Dateien, die sowohl unterschiedlich VIELE Spalten als auch unterschiedlich BREITE Spalten haben (getrennt durch mehrere Leerzeichen).
Toll wäre, wenn ich EIN Makro für ALLE Textdateien einsetzen könnte!
Bisher sieht mein Makro, welches ich für jede Datei"art" anpassen muss, so aus:
Sub import()
Reihe = 4 'INTEGER_Variable für Zeile in Excel-Tabelle
SourceDatei(1) = "C:\Eigene Daten\Test1.TXT"
SourceDatei(2) = "C:\Eigene Daten\Test2.TXT"
For Nummer = 1 To 2
Open SourceDatei(Nummer) For Input As FF
' Suchen bis Dateiende
Do While Not EOF(FF) = True
Line Input #1, Zeichenfolge
' Diese Bedingung trifft auf alle zu importierenden Zeilen zu!
' andere Zeilen sollen nicht importiert werden
If IsNumeric(Mid(Zeichenfolge, 3, 10)) = True Then
With Worksheets("Tabelle1")
.Cells(Reihe, 1) = Mid(Zeichenfolge, 3, 10)
.Cells(Reihe, 2) = Trim(Mid(Zeichenfolge, 14, 27))
.Cells(Reihe, 3) = Trim(Mid(Zeichenfolge, 42, 13))
.Cells(Reihe, 5) = Trim(Mid(Zeichenfolge, 48, 13))
.Cells(Reihe, 4) = Trim(Mid(Zeichenfolge, 63, 13))
.Cells(Reihe, 8) = Trim(Mid(Zeichenfolge, 78, 13))
.Cells(Reihe, 7) = Trim(Mid(Zeichenfolge, 93, 13))
End With
Reihe = Reihe + 1
End If
Loop
Close FF
Next Nummer
End Sub
Hat vielleicht jemand von Euch eine Anregung für mich?
Russi
www.Russi.de.tt