Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
828to832
828to832
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

textteile einlesen

textteile einlesen
18.12.2006 11:47:28
Frank
Hallo Excelfreunde,
Ich möchte eine Textdatei mit mehr als 70000 Zeilen in Excel einlesen.
Gibt es mit VBA die Möglichkeit nur bestimmte Zeilen einlesen die ich später brauche. zB.*Besucher* und *Dauer* und *bis* sind Zeilen wo diese Zeichen vorkommen. Es kommen aber noch mehr dazu die ich mir erweitern würde.
Habe im Forum gesucht aber leider nichts passendes gefunden.
Die Zeichen später zu löschen, macht bei der Menge Probleme. Da hatte ich was im Forum gefunden.
Besten Dank im Voraus
Gruß Frank

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: textteile einlesen
18.12.2006 13:33:29
haw
Hallo Frank
z.B. so:

Sub Einlesen()
Dim stxt$
Open "C:\Testtest.txt" For Input As #1
Do Until EOF(1)
Line Input #1, stxt
If InStr(stxt, "Besucher") Or InStr(stxt, "Dauer") Then
efz = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(efz, 1).Value = stxt
End If
Loop
Close iFile
End Sub

Es werden alle Zeilen eingelesen, die eines der beiden Wörter beeinhalten.
Gruß Heinz
AW: textteile einlesen
19.12.2006 11:35:48
Frank
Danke für Deine Mühe Heinz,
es funktioniert soweit ganz gut.
Für meine Auswertung kann ich es nicht nutzen.
Es werden z.B. alle Zeilen wo *Besucher* enthalten ist hinterein ander eingelesen werden und dann die Anderen.
Ich bräuchte es so *Besucher* dann nächste Zeile *Dauer* und so weiter.
Also in der gleichen Reihenfolge wie sie in den Textblöcken vorkommen.
Gruß Frank
Anzeige
AW: textteile einlesen
19.12.2006 11:50:23
haw
Hallo Frank,
das tut es ja auch.
Es wird für jede Zeile geprüft, ob in der Zeile der String "Besucher" ODER "Dauer" vorkommt, dann wird die Zeile eingetragen.

Sub Einlesen()
Dim stxt$
Open "C:\Testtest.txt" For Input As #1
Do Until EOF(1)
'Jede Zeile wird der Variablen stxt zugewiesen
Line Input #1, stxt
' wenn der eine oder andere String in stxt vorkommt, dann ...
If InStr(stxt, "Besucher") Or InStr(stxt, "Dauer") Then
efz = Cells(Rows.Count, 1).End(xlUp).Row + 1
'wird er in die nächste freie Zeile der aktiven Tabelle geschrieben
Cells(efz, 1).Value = stxt
End If
Loop
Close iFile
End Sub

Gruß Heinz
Anzeige
AW: textteile einlesen
20.12.2006 10:29:14
Frank
Hallo Heinz,
Du hattest Recht, es hat geklappt. Ich sagte ja es kommen noch mehrere Stings dazu.
Zu jeden Besucher kommt auch der String Dauer. Nun hatte ich 20 Besucher eingelesen und über 1000nte Dauer von - bis. Habe ich übersehen, mein Fehler.
Nochmals Danke für Deine Hilfe.
Wünsche Dir ein schönes Weihnachtsfest,
Gruß Frank

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige