Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Aus mehreren Textdatei einzelne Werte lesen

Aus mehreren Textdatei einzelne Werte lesen
09.06.2005 11:06:09
Walther
Mein Problem ist vorgendes,
Ich habe ca.1000 txt Files aus denen ich durch Angabe eines Zeitraums ca.100
auswählen muss und von diesen dann Bestimmte Werte in eine Tabelle eintragen muss.
Am Beispiel:
Meine Datein heissen z.B.:
oberfilz_20040518_001107_k.txt
oberfilz_20040518_011117_k.txt
oberfilz_20040518_021105_k.txt
...
und liegen alle in C:\cmr\VB\Alle Daten\
Die Datein ind so Aufgebaut:
Startzeit: 00:01:23 Endzeit: 00:11:07
Tuesday, May 18, 2004, 00:11:07
* Av_rel_Perm_OF 0.464
* Av_a_u_Feuchte_OF 0.5984 %
* Av_Temperatur_OF 42.914 °C
* Av_Vordruck_Wasser_OF 22.919 bar
* Av_Mw_TransmitP_OF 11.9624 mA
Weg_OF Vordruck_Wasser_OF rel_Perm_OF Temperatur_OF Mw_TransmitP_OF
% bar ? °C mA %
0.00 22.757 0.5355 33.848 12.1289 0.6067
0.17 22.787 0.5240 33.998 12.0410 0.6023
0.33 22.849 0.5027 34.360 11.9922 0.5999
0.50 22.864 0.4992 34.677 11.9922 0.5999
0.67 22.925 0.4808 34.120 11.9922 0.5999
0.83 22.940 0.4794 34.224 11.9727 0.5989
1.00 22.940 0.4860 35.151 11.9727 0.5989
Und ich muss nun von jeder Datei die ersten 4 Werte also
* Av_rel_Perm_OF 0.464
* Av_a_u_Feuchte_OF 0.5984 %
* Av_Temperatur_OF 42.914 °C
* Av_Vordruck_Wasser_OF 22.919 bar
und das jeweilige Datum in eine Zeile schreiben.
ungefähr so:
0.464: 0.5984: 42.914: 22.919: 20040518_001107(Datum auch Formatierung möglich)
0.454: 0.5484: 43.514: 22.459: 20040518_011117
0.473: 0.5984: 42.914: 22.919: 20040518_021105
usw.
Ich würde mich auch sehr über Teillösungen freuen.
Vielen Dank.
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Lösungsansatz
09.06.2005 12:52:12
Harald
Hallo Walther,
StandardModule: Modul1

Sub GrepText()
Dim fs As FileSearch
Dim lRow As Long, lFile As Long
Dim iCounter As Integer
Dim sDir As String, sTxt As String, sBegriff As String
Application.ScreenUpdating = False
sDir = Range("H1").Value 'Pfadangabe
sBegriff = Range("H3").Value 'Suchbegriff
Columns("A").ClearContents
Set fs = Application.FileSearch
With fs
.LookIn = sDir
.Filename = Range("H2").Value 'Dateiname
.Execute
For iCounter = 1 To .FoundFiles.Count
lFile = lFile + 1
If lFile Mod 100 = 0 Then Application.StatusBar = _
"Bearbeite Datei " & lFile & "..."
Open .FoundFiles(iCounter) For Input As #1
Do Until EOF(1)
Line Input #1, sTxt
If InStr(sTxt, sBegriff) Then
lRow = lRow + 1
Cells(lRow, 1).Value = sTxt
End If
Loop
Close
Next iCounter
End With
Application.StatusBar = False
Application.ScreenUpdating = True
End Sub

Dieser Code ist von der Herber Excel-CD (sehr empfehlenswert, da dort u.a. auch noch andere Möglichkeiten des Textimport beleuchtet werden)
Leider hab ich keine Zeit, die Sache nachzubauen. Daher ist der Code unverändert.
Der Code durchsucht alle Textdateien im angegebenen Verzeichnis nach einem Suchbegriff und fügt diese Zeile in ein Arbeitsblatt.
Da für dein Problem bisher keine andere Lösung eingegangen ist, dachte ich dies wäre ein guter Ansatz.
Viel Erfolg
Harald
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige