Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
872to876
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
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Viele Textdateien einlesen (nur erste Zeile)

Viele Textdateien einlesen (nur erste Zeile)
31.05.2007 09:32:00
Christian
Hallo,
ich habe in einem Verzeichnis 500 Textdateien.
Diese möchte ich gerne mittels Excel-Makro wie folgt einlesen:
In jede Excel Spalte soll die erste Zeile einer Textdatei geschrieben werden,
so das ich nach dem Import in Excel 500 Zeilen habe.
Ist das möglich?
Vielen Dank
Christian

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Viele Textdateien einlesen (nur erste Zeile)
31.05.2007 09:38:40
Oberschlumpf
Hi Christian
2 Fragen.
1. "In jede Excel Spalte soll....so das ich nach dem Import in Excel 500 Zeilen habe"
Nach dem obigen Zitat hättest du dann 500 Spalten in einer Zeile - soll das so sein?
Oder gilt für dich doch der 2. Zitatteil - wirklich jede erste Zeile der Textdatei in die nächste Zeile der Excel-Tabelle? - dann werden es 500 Zeilen.
2. Soll die erste Zeile aus jeder Textdatei immer nur in die erste Spalte geschrieben werden, oder soll die Zeile aus Textdatei in n viele Spalten aufgeteilt werden? - für letzteres wäre eine Bsp-Zeile aus Textdatei schön und eine Erklärung, wie die Zeile in Spalten aufgeteilt werden soll.
Ciao
Thorsten

Anzeige
AW: Viele Textdateien einlesen (nur erste Zeile)
31.05.2007 09:57:14
Christian
Hi Thorsten,
ich brauche nur die erste Zeile (wobei das egal ist, es kann auch die letzte sein) jeder Textdatei
in eine eigene Excel Spalte (die Bearbeitung nehme ich dann selbst vor).
Also A1, A2, A3 usw. in B steht nix und A wird wahrscheinlich sehr breit :-)
Gruß
Christian

AW: Viele Textdateien einlesen (nur erste Zeile)
31.05.2007 09:57:00
Christian
Hi Thorsten,
ich brauche nur die erste Zeile (wobei das egal ist, es kann auch die letzte sein) jeder Textdatei
in eine eigene Excel Spalte (die Bearbeitung nehme ich dann selbst vor).
Also A1, A2, A3 usw. in B steht nix und A wird wahrscheinlich sehr breit :-)
Gruß
Christian

Anzeige
AW: Viele Textdateien einlesen (nur erste Zeile)
31.05.2007 10:19:57
Oberschlumpf
Hi Christian
Versuch es mal mit diesem Makro:

Sub TxtZeile()
Dim liZeile As Integer, lstrFile As String, lstrZeile As String
liZeile = 1
lstrFile = Dir(ThisWorkbook.Path & "\*.txt")
If lstrFile = "" Then MsgBox "In diesem Verzeichnis sind keine Txt-Dateien": Exit Sub
Do Until lstrFile = ""
Open ThisWorkbook.Path & "\" & lstrFile For Input As #1
Line Input #1, lstrZeile
Range("A" & liZeile).Value = lstrZeile
Close
lstrFile = Dir
liZeile = liZeile + 1
Loop
End Sub


Die leere Excel-Datei mit obigem Makro muss in dem Verzeichnis mit den ganzen Txt-Files gespeichert sein und gestartet werden.
Die Txt-Zeilen werden in das Tabellenblatt eingelesen, in dem du das Makro aufrufst.
Konnte ich helfen?
Ciao
Thorsten

Anzeige
AW: Viele Textdateien einlesen (nur erste Zeile)
31.05.2007 10:26:00
Christian
jawohl, das klappt und hilft mir sehr weiter, danke nochmal!
Nun das Sahnehäubchen: Es wäre super wenn links neben dem Datensatz auch noch das Datum der jeweiligen Datei stehen würde ;)
Christian

AW: Viele Textdateien einlesen (nur erste Zeile)
31.05.2007 10:30:42
Oberschlumpf
hmm...
Hi Christian
Warum schreibst du das nicht gleich mit auf?
So kann es nämlich sein, dass der ganze Code umgeschrieben werden muss - wir (ich) helfen ja gerne, aber auch in nem Forum wird überflüssige Arbeit nicht gern gemacht - und wenn mein erster Code umgeschrieben werden muss, ist er ja überflüssig, weil nicht mehr brauchbar.
Vielleicht fällt mir ne Lösung für dein Datum ein - weiss ich noch nich.
Ciao
Thorsten

Anzeige
AW: Viele Textdateien einlesen (nur erste Zeile)
31.05.2007 10:47:25
Oberschlumpf
Hi Christian
Versuch es so:

Sub TxtZeile()
Dim liZeile As Integer, lstrFile As String, lstrZeile As String
Dim FSObjekt As Object, FObjekt As Object
liZeile = 1
lstrFile = Dir(ThisWorkbook.Path & "\*.txt")
If lstrFile = "" Then MsgBox "In diesem Verzeichnis sind keine Txt-Dateien": Exit Sub
Do Until lstrFile = ""
Set FSObjekt = CreateObject("Scripting.FileSystemObject")
Set FObjekt = FSObjekt.GetFile(ThisWorkbook.Path & "\" & lstrFile)
Open ThisWorkbook.Path & "\" & lstrFile For Input As #1
Line Input #1, lstrZeile
Range("A" & liZeile).Value = Left(FObjekt.DateLastModified, 8) & " - " &  _
lstrZeile
Close
lstrFile = Dir
liZeile = liZeile + 1
Loop
Set FSObjekt = Nothing
Set FObjekt = Nothing
End Sub


Konnte ich helfen?
Ciao
Thorsten
P.S. besser ist es, gleich sofort alle Anforderungen/Wünsche aufzuführen, um unnötige Arbeiten zu verhindern

Anzeige
AW: Viele Textdateien einlesen (nur erste Zeile)
31.05.2007 11:06:00
Christian
Nit dem Datum funktioniert es auch.
Wenn ich den Lauf mit allen Daten laufen lasse (habe eben nur mit 5 getestet), kommt nach ca. 300 Datensätzen ein Laufzeitfehler 62: Einlesen hinter Dateiende.
Die übergebenen Daten weisen folgenden Fehler auf:
liZeile = 1 ok
lstrFile = endet mit 877 Datei gibt es aber nicht
lstrZeile = Inhalt der Datei mit Endung 876

AW: Viele Textdateien einlesen (nur erste Zeile)
31.05.2007 11:49:00
Oberschlumpf
Hi Christian (auch du kannst deine Antworten ruhig mit -Begrüßung Name- beginnen...kommt freundlicher rüber, und so viel Zeit muss sein)
Noch verstehe ich den Fehler nicht.
Wie genau heißen deine Textdateien?
"876.txt" oder "name.876"
Weil du von "Endung" schreibst - mit Endung sind normalerweise die 3 Zeichen im Dateinamen hinter dem Punkt gemeint.
Auf jeden Fall aber läuft der Code so ab:
(beginnend bei lstrFile = Dir(ThisWorkbook.Path & "\*.txt") )
1. der Variable lstrFile wird der Name der ersten txt-Datei im angegebenen Verzeichnis übergeben
2. die Datei wird geöffnet (Open...), die erste Zeile wird eingelesen (Line Input..), die Datei wird geschlossen (Close)
3. mit lstrFile = Dir....erhält die Variable lstrFile den Namen der nächsten txt-Datei aus dem gleichen Verzeichnis
4. Schritt 2 und 3 wiederholen sich so oft, bis die Variable lstrFile den Wert "" erhält. Dann nämlich wurden im zuvor angegebenen Verzeichnis alle txt-Dateien abgearbeitet.
Den Code habe ich getestet, und alles lief wie gewünscht.
Daher verstehe ich den Fehler (noch) nicht.
Beschreib deine txt-Dateien mal bitte etwas genauer.
Name der Datei, Inhalt und Aufbau
Ciao
Thorsten
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige