Hallo Micha,
hier ist das Gerüst eines Makros, mit dem die Daten eingelesen werden können, wenn EXCEL die OUT-Datei problemlos öffnen kann. Die Komentare im Code sollten helfen das Ganze an deine Bedürfnisse anzupassen. Das Makro muß du in ein Modul deiner Auswerte/Berechnungsdatei einfügen
Sub Aus\_OUT\_Datei\_einlesen()
'
' Übernahme von Daten aus einer Textdatei mit strukturierten Daten in eine EXCEL-Tabelle
'
AuswerteDatei = ActiveWorkbook.Name
' Eingabe des Namens der OUT-Datei
OUT\_Datei = InputBox("Name der \*.OUT Datei: ", "Asys-Daten einlesen", "C:\Projekt\_ASYS\x???x.OUT")
'
' Um den nachfolgenden Teil des Makros korrekt zu erstellen, zeichnet man am besten das
' Öffnen der OUT-Datei als Makro auf. Dann werden alle Parameter korrekt eingetragen.
' Anschließend nur noch 'OUT\_Datei' anstelle des aufgezeichneten Dateinamens eintragen
Workbooks.OpenText FileName:=OUT\_Datei, Origin:=xlWindows, \_
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlNone, \_
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False, \_
Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), Array(2, 4), Array( \_
3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1))
' --- Ende des per Aufzeichnung zu ermittelnden Codes
Asysdatei = ActiveWorkbook.Name
Range("A1").Select
'
' --- Die nachfolgenden Schritte müssen mehrmals wiederholt werden, wenn die Daten
' in mehreren Teilbereichen übernommen werden sollen
Windows(Asysdatei).Activate
Range("A2:G31").Select 'zu kopierender Bereich
Selection.Copy
Windows(AuswerteDatei).Activate
Sheets("AsysDaten").Select 'Name des Tabellenblattes in dem Daten eingefügt werden sollen
Range("A2").Select ' Zelle ab der eingefügt werden soll
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= \_
False, Transpose:=False
' --- Ende Wiederholungsschritte
Range("A2").Select
Selection.Copy:Application.CutCopyMode = False 'verhindert störende Meldung
Windows(Asysdatei).Close
End Sub
Gruß
Franz