Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
888to892
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
888to892
888to892
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Alle txt File aus Ordner einlesen

Alle txt File aus Ordner einlesen
27.07.2007 21:36:39
thomas
Hallo liebe VBA Experten
Ich hab folgendes Problem: In einem Ordner befinden sich unzählige txt files.
In den txt files sind folgende daten:
1. Zeile: Name in Cells(1,1)
2.Zeile: Überschriften: Spalte1 Freq ; Spalte2 Realteil; Spalte3 Imgteil.
3.Zeile Messdaten: Spalte1 Freq ; Spalte2 Realteil; Spalte3 Imgteil.
Ich möchte nun jedes txt file in ein sheet einlesen. Der name des sheetes soll dann der Name aus Cells(1,1) sein.
Wie kann ich die Einlese Routine schreiben? Am liebsten Ordner auswählen und er liest alle txt files ein.
Weiter soll dann EIN X-Y Diagramm erstellt werden (Datensatz Spalte2 & 3) aus allen Sheets mit Datensatzname aus Cells(1,1) bzw. Sheetname.
Kann mir jemand weiterhelfen. Vielen Dank schon mal im voraus...
gruss
Thomas

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alle txt File aus Ordner einlesen
27.07.2007 22:25:00
Herby
Hallo Thomas,
kannst Du eine Textdatei hier einstellen ?
Viel Grüße
Herby

AW: Alle txt File aus Ordner einlesen
27.07.2007 23:31:00
Ramses
Hallo
das kommt nicht klar raus:
Wie stehen die Daten im Textfile ?
Gibt es ein klares Trennzeichen der Datenfelder, z.B. das ";" oder ein "," ?
Dieser Code macht mal das was du willst
Option Explicit

Sub Read_Text_Files_from_Folder()
    '(C) Ramses
    Const OpenFileForReading = 1
    Dim myFSO As Object, myFSOImp As Object
    Dim myImpFiles As Object, myImpFile As Object, myFile As Object
    Dim myImpFolder As String, tmpImp As String
    Dim i As Long, txtLines As Long
    Dim Suchdialog As FileDialog
    Dim myImpWKB As Workbook, myImpWKS As Worksheet
    '********************************
    'Nichts mehr ändern
    Set Suchdialog = Application.FileDialog(msoFileDialogFolderPicker)
    'Dialog für EXCEL XP und höher
    'Auswählen wo die TEXT-Dateien liegen
    With Suchdialog
        .Title = "Bitte wählen Sie ein Verzeichnis aus"
        'Environ(25) ermittelt den Aktuellen Userpfad
        .InitialFileName = Environ(25) & "\Eigene Dateien\"
        .ButtonName = "Auswahl übernehmen"
        .Show
        If .SelectedItems.Count = 0 Then
            MsgBox "Sie haben kein Verzeichnis ausgewählt", vbInformation
            Set Suchdialog = Nothing
            Exit Sub
        Else
            myImpFolder = .SelectedItems(1)
            MsgBox myImpFolder
        End If
    End With
    Set myImpWKB = Workbooks.Add
    With myImpWKB
        For i = .Worksheets.Count To 2 Step -1
            Application.DisplayAlerts = False
            .Worksheets(i).Delete
            Application.DisplayAlerts = True
        Next i
        Set myImpWKS = .Worksheets(1)
        Set myFSO = CreateObject("Scripting.FileSystemObject")
        Set myFSOImp = myFSO.GetFolder(myImpFolder)
        Set myImpFiles = myFSOImp.Files
        For Each myImpFile In myImpFiles
            If Right(myImpFile, 3) = "txt" Then
                Set myFile = myFSO.getfile(myImpFile)
                Open myFile For Input As #1
                txtLines = 1
                With myImpWKS
                    .Move after:=Worksheets(Worksheets.Count)
                    Do While Not EOF(1) ' Schleife bis Dateiende.
                        Input #1, tmpImp
                        'Zähler hochzählen
                        .Cells(txtLines, 1) = tmpImp
                        txtLines = txtLines + 1
                    Loop
                    'Import Text auf Spalten aufteilen
                    .Columns(1).TextToColumns Destination:=Range("A1"), _
                    DataType:=xlDelimited, _
                    Semicolon:=True
                    'oder
                    'Comma:=True
                    'Tab:=True
                    'Space:=True
                    'Name der Tabelle entweder der ImportFile Name
                    .Name = Right(myFile, Len(myFile) - InStrRev(myFile, "\", -1))
                    'oder der Name aus Zelle 1
                    '.Name = .Cells(1, 1)
                End With
                Close #1
                Set myImpWKS = .Worksheets.Add
            End If
        Next
    End With
End Sub

.... allerdings ohne das XY-Diagramm.
Aber das erstellen kannst du mit dem Makrorekorder ja aufzeichnen
Gruss Rainer

Anzeige
AW: Alle txt File aus Ordner einlesen
28.07.2007 01:31:00
thomas
WAHNSINN seit ihr schnell !
Ich teste es morgen mal und geb dann feedback.
Die daten sind mit dem tabulator getrennt!
gruss
Thomas
und besten Dank schon mal

AW: Alle txt File aus Ordner einlesen
28.07.2007 13:55:48
thomas
Hallo Rainer
Leider funktioniert dein code nicht ganz richtig. Liegt wahrscheinlich an den Datensätzen.
Hier findest du den Datensatz der produziert wird und eingelesen werden soll: https://www.herber.de/bbs/user/44519.txt
Hab schon versucht deinen code anzupassen. Komm aber nicht ganz klar damit. Kannst du mir weiterhelfen?
gruss
Thomas

Anzeige
AW: Alle txt File aus Ordner einlesen
28.07.2007 14:46:49
thomas
Alles klar habs hinbekommen ! Vielen Dank

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige