Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1160to1164
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
Inhaltsverzeichnis

Import fortlaufend nummerierter Textdateien

Import fortlaufend nummerierter Textdateien
Mark
Hallo zusammen!
Ich würde gerne Messdaten aus mehreren Textdateien (*.tra) mit Hilfe eines Makros in Excel importieren. Die Dateien befinden sich alle in einem Ordner.
Der Import über "Daten" -> "Externe Daten importieren" -> "Daten importieren" klappt soweit ganz gut. Da ich jedoch teilweise hundert oder mehr Textdateien habe, ist das natürlich sehr mühsam.
Da ich mehrere Messungen für eine Probe gemacht habe, sind die Dateien folgendermaßen benannt:
NameA1.tra; NameA2.tra; NameA3.tra usw.
Hier mal ein Auszug aus einer solchen Datei. Die Zahlenwerte von Prüfzeit, Standardkraft und Dehnung sind durch Tab getrennt.
"Datum" "15.06.2010"
"Probennummer" 1 ""
"Probenbreite b0" 4,2 "mm"
"Probendicke a0" 2,2 "mm"
"Geschwindigkeit E-Modul" 200 "mm/min"
"Prüfgeschwindigkeit" 200 "mm/min"
"E-Modul" "nicht bekannt"
"Dehnung bei Fmax" 301,402 "%"
"Kraftmaximum" 5,47781 "MPa"
"Dehnung bei Bruch" 305,659 "%"
"Bruchkraft" 5,38083 "MPa"
"Prüfzeit" "Dehnung" "Standardkraft"
"s" "%" "MPa"
0,0399951 0,000750504 -0,0218694
0,359995 0,0040005 -0,0256728
0,379995 0,0040005 -0,0209186
0,399995 0,0037505 -0,0237711
0,439995 0,0050005 -0,0228203
0,459995 0,0057505 -0,0199677
Ich würde das gerne so machen, dass ich beim Abspielen des Makros die erste Datei, also NameA1.tra auswähle und alle weiteren mit NameA in das gleiche Tabellenblatt importiert werden.
Ich habe den Import einer einzelnen Datei mal mit dem Makrorecorder aufgezeichnet.

Sub TraImport()
' TraImport Makro
' Makro am 22.06.2010 von Mark aufgezeichnet
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;M:\Rohdaten Zugversuche\XXXXXX\XXXXX_Zug_Komplett1.TRA", Destination _
:=Range("A1"))
.Name = "XXXXX_Zug_Komplett1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1250
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub

Vielleicht kann mir jemand in der Sache weiterhelfen. Ich bin noch totaler Newbie, was VBA angeht.
Danke schonmal!
Gruß
Mark

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Import fortlaufend nummerierter Textdateien
22.06.2010 19:05:30
Martin
Hallo Mark,
also dafür wirst du auf VBA zurückgreifen müssen. Glaub mir, so schwer ist VBA nicht und es erleichtert dir die Arbeit sehr. Meinen Job habe ich auf VBA quasi aufgebaut und ich kann mir meine Arbeit ohne VBA wirklich nicht vorstellen. Die Dateinamen kannst du mit einer Schleife ("For i = 1 to 100" und "Next i"). Den Dateinamen generierst du mit "NameA" & i & ".tra".
Suche im Forum mal nach "Einlesen von Textdateien" ("Open" und "for Input as #1"). Mit "Split" und dem Leerzeichen als Trenner kannst du die Spalten bequem trennen. Investiere lieber ein wenig Zeit ins Programmieren als in das manuelle Importieren von 100 Textdateien.
Viele Grüße
Martin
Anzeige
AW: Import fortlaufend nummerierter Textdateien
23.06.2010 07:17:07
Oberschlumpf
Hi Mark
Ich hab mal dein tra-Bsp in eine txt-Datei gepackt, und dein Import-Makro "drüberlaufen" lassen.
Das Ergebnis sieht so aus:
Userbild
Soll es genau so sein, oder sieht es bei dir doch anders aus?
Wenn anders, dann zeig uns, wie es aussieht - in einer Excel-Datei, bitte nicht nur als Text in deiner Antwort.
Weitere Fragen...
Du schreibst "...Ich würde das gerne so machen, dass ich beim Abspielen des Makros die erste Datei, also NameA1.tra auswähle und alle weiteren mit NameA in das gleiche Tabellenblatt importiert werden....
Bedeutet das, es gibt auch Dateien mit Namen wie NameB1.tra,NameB2.tra...NameC1.tra,NameC2.tra usw, und diese sollen alle für sich in ein eigenes Tabellenblatt, oder heißen alle Dateien NameA... .tra, und alle Dateien sollen in nur ein Tabellenblatt?
Wenn alle Daten in ein und das selbe Tabellnblatt sollen, bedenke, dass Excel 2003 nur ca. 65.000 Zeilen anbietet. Bei 100 oder mehr Dateien mit vllt mehr Zeilen als Inhalt als du uns zeigst, kann da vllt schon mal mehr als 65.000 zusammen kommen.
Ciao
Thorsten
Anzeige
Nachtrag
23.06.2010 08:05:15
Oberschlumpf
Hi Mark
Noch ne Frage:
Wie ist der Aufbau der Dateinamen?
Sehen die Namen so aus?
NameA1.tra
NameA2.tra
NameA3.tra
...
oder
NameA_1.tra
NameA_2.tra
NameA_3.tra
oder
NameA-1.tra
NameA-2.tra
NameA-3.tra
oder oder oder?
Das zu wissen ist auch wichtig, weil zumindest gerade mit meiner Idee, deiner Lösung näher zu kommen, immer anders programmiert werden muss.
Deswegen verrat uns bitte das "Layout" der Dateinamen.
Ciao
Thorsten
AW: Nachtrag
23.06.2010 13:47:24
Mark
Die Dateinamen sind alle so aufgebaut:
NameA_1.tra
NameA_2.tra
....
Gruß und vielen Dank!
mark
Anzeige
AW: Import fortlaufend nummerierter Textdateien
23.06.2010 13:45:48
Mark
Hi Thorsten,
es gibt auch Dateien mit
NameB_1.tra
NameB_2.tra
...
Ich möchte die Daten aller Dateien mit z.B. Name_B in ein Tabellenblatt nebeneinander einfügen. Die Daten aus den Dateien mit Name_A in ein weiteres separates Tabellenblatt.
Anbei noch ein Screenshot
Userbild
AW: Import fortlaufend nummerierter Textdateien
23.06.2010 14:54:44
Oberschlumpf
Hi Mark
Hast du auch das hier von mir gelesen:
Wenn anders, dann zeig uns, wie es aussieht - in einer Excel-Datei, bitte nicht nur als Text in deiner Antwort.
mit Text sind auch Screenshots usw gemeint.
ne Datei kannst du hier uploaden, und den dann gezeigten Link mit in deinen Antworttext schreiben:
https://www.herber.de/forum/file_upload.html
Der Link zum Upload heißt übrigens "Hier gehts zum File-Upload" und steht rechts oberhalb des Antwortfensters, in dem du Antworten schreibst.
Und was den Screenshot betrifft.
Du möchtest dass jede Datei mit ihren Erstzeilen in Zeile 1 beginnt - immer entsprechend viele Spalten versetzt?
Wenn ja, ist das zwar möglich, aber eben nur so lange, wie es nicht mehr als ca 85 gleichlautende Dateien (DateiA1,DateiA2,usw) gibt.
Denn pro Datei = 3 Spalten; pro Tabellenblatt = 256 Spalten - daraus ergibt sich: 256 / 3 = 85 Rest 1
Ich warte dann mal auf deine Datei...und deine Antworten zu den neuen Fragen.
Ciao
Thorsten
Anzeige
AW: Import fortlaufend nummerierter Textdateien
24.06.2010 09:05:38
Oberschlumpf
Moin
Na, nicht mehr an einer Lösungsidee interessiert?
Ciao
Thorsten

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige