Thema Datum  Von Nutzer Rating
Antwort
Rot Makro zum Einlesen von .lst Dateien in Excel
29.10.2020 14:57:01 Mara
Solved
29.10.2020 16:57:21 Mara
NotSolved
29.10.2020 19:29:37 Gast60247
NotSolved
29.10.2020 19:46:28 Gast34759
NotSolved
29.10.2020 21:29:49 Gast70671
Solved

Ansicht des Beitrags:
Von:
Mara
Datum:
29.10.2020 14:57:01
Views:
864
Rating: Antwort:
 Nein
Thema:
Makro zum Einlesen von .lst Dateien in Excel

Hallo zusammen,

 

ich möchte mehrere .lst Dateien als verschiedene Arbeitsblätter in ein Excel-Dokument importieren. Bis jetzt habe ich das immer über den Legacy-Assistenten "Aus Text (Legacy)" gemacht, aber da das Ganze sehr repetetiv ist würde ich gerne versuchen, ein Makro dafür zu schreiben.

Zuerst hab ich versucht, einfach ein Makro aufzunehmen und dann eine Datei als Beispiel zu importieren mit den gewünschten Einstellungen (Getrennt durch Leerzeichen; Abfragedefinition nicht speichern; in ein neues Arbeitsblatt ablegen). Grundlage davon ist ein Tutorial zu Makros das ich auf Youtube angeschaut habe, in dem etwas ähnliches erstellt wurde.

Dabei kommt folgendes heraus:

Sub fromtextLegacy()
'
' fromtextLegacy Makro
'

'
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    ActiveWorkbook.Worksheets.Add
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\Users\...\OAT_1081_1995_613.LST" _
        , Destination:=Range("$A$1"))
        .CommandType = 0
        .Name = "OAT_1081_1995_613"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 850
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = True
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = True
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub

 

Probiere ich aber das Ganze im Anschluss auszuführen kriege ich immer folgenden Fehler angezeigt: "Laufzeitfehler '5': Ungütiger Prozeduraufruf oder ungültiges Argument", was ich mir nicht erklären kann. 

 

Abgesehen davon würde mit dem Code natürlich immer nur dieselbe Datei geöffnet. Es wäre super praktisch wenn ich hier entweder die Datei selber auswählen könnte oder das ganze mehr oder weniger automatisch fortgeführt werden könnte (die Dateien liegen in einem Ordner und heißen alle "OAT_1081_jahreszahl_613.LST" wobei statt "jahreszahl" eine fortlaufende Zahl zwischen 1995 und 2018 steht. Aber bei Letzterem kenne ich mich defintiv zu wenig aus, wie das funktionieren könnte).

Die Datei selbst auswählen zu können wäre defintiv schon ausreichend und würde mir die Arbeit schon super erleichtern. Dafür hab ich beim googeln gesehen, dass für mir ähnlich erscheinende Probleme "FileDialog" oder "GetOpenFilename" verwendet wurden, bin aber unsicher ob diese hier funktionieren würden, bzw. wie man sie einbaut.

 

Für jegliche Hilfe bin ich super dankbar!

 

Beste Grüße

Mara


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Makro zum Einlesen von .lst Dateien in Excel
29.10.2020 14:57:01 Mara
Solved
29.10.2020 16:57:21 Mara
NotSolved
29.10.2020 19:29:37 Gast60247
NotSolved
29.10.2020 19:46:28 Gast34759
NotSolved
29.10.2020 21:29:49 Gast70671
Solved