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

selektive Daten aus Textdatei in Excel kopieren

selektive Daten aus Textdatei in Excel kopieren
ulzie
Hallo,
ich habe ein dringendes Problem mit der Datenauswertung von ca. 1500 Textdateien.
Folgendes Problem:
die Textdateinen sind die Ergebnisse eines wissenschaftlichen Projektes und sind alle gleich aufgebaut (Text + Zahlen).
Pro Datenpunkt sind 16 Textdateien vorhanden, die von 1-16 durchnummeriert sind
Ich benötige nun genau jeweils 11 Zahlenpakete aus diesen Textdateien und möchte sie automatisch in eine Exceltabelle kopieren, dabei soll jeweils der gleiche Wert der nächsten Textdatei unter dem Wert der vorherigen stehen.
Leider sind meine Kenntnisse im scripten/Makrorecorder stark eingeschränkt und ich bin mir nicht sicher, ob das Makro funktioniert, wenn ich nur die Position des Zahlenpaketes in der Textdatei nutze.
Ich benötige nur die fettgedruckten Zahlenpakete.
Ein Beispiel der Textdatei:
[Frequenz dist]
Exercise = [All]
Record1 ={
Frequency, Hz = 4,61538
Frequency StDev, Hz = 0
}
[Frequenz X]
Exercise = [All]
Record1 ={
Frequency, Hz = 4
Frequency StDev, Hz = 0
}
[Frequenz Y]
Exercise = [All]
Record1 ={
Frequency, Hz = 4,61538
Frequency StDev, Hz = 0
}
[Frequenz Z]
Exercise = [All]
Record1 ={
Frequency, Hz = 4,28571
Frequency StDev, Hz = 0
}
[Amplitude dist]
Exercise = [All]
Record1 ={
Amplitude, mm = 177,614
Amplitude StDev, mm = 0
}
[Amplitude X]
Exercise = [All]
Record1 ={
Amplitude, mm = 55,6626
Amplitude StDev, mm = 0
}
[Amplitude Y]
Exercise = [All]
Record1 ={
Amplitude, mm = 173,84
Amplitude StDev, mm = 0
}
[Amplitude Z]
Exercise = [All]
Record1 ={
Amplitude, mm = 65,9255
Amplitude StDev, mm = 0
}
[Average speed path]
Exercise = [All]
Record1 ={
Average Speed, mm/(s) = 1627,09
Average Speed StDev, mm/(s) = 0
}
[Velocity Max Min]
Exercise = [All]
Record1 ={
Maximum, mm/s = 1885,3
Maximum StDev, mm/s = 0
Minimum, mm/s = 1277,38
Minimum StDev, mm/s = 0
}
Es wäre nett, wenn mir jemand helfen könnte das Problem zu lösen.
Leider konnte ich keine passende Antwort mit der Suche im Forum erzielen, sollte es bereits ausführlich besprochen worden sein, möchte ich mich entschuldigen.
Vielen Dank
AW: selektive Daten aus Textdatei in Excel kopieren
13.07.2011 10:19:59
bst
Morgen,
Kopiere die Abschnittsnamen in Zeile 1 ab Spalte 2, die Schlüsselnamen darunter in Zeile 2.
Passe den Pfad und ggf. den Namen in den nächsten beiden Zeilen an:
strPath = "e:\test\freq\"
strName = Dir(strPath & "*.ini")
https://www.herber.de/bbs/user/75688.xls
HTH, Bernd
AW: selektive Daten aus Textdatei in Excel kopieren
13.07.2011 13:16:28
ulzie
Hallo Bernd,
vielen Dank für die Hilfe, leider finde ich nicht die gewünschte .ini Datei.
Ich habe die Daten laut Anweisung ins Makro kopiert aber es lässt sich nicht ausführen.
Vielleicht könntest du einem Anfänger noch einen kleinen Rat geben.
Viele Grüße und Dank
ulzie
Anzeige
AW: selektive Daten aus Textdatei in Excel kopieren
13.07.2011 13:21:13
bst
Hi ulzie,
passe den Pfad im Code an und starte das Makro. Mehr musst Du nicht tun wenn es um .INI Dateien geht.
Falls es um .TXT Dateien gehen sollte passe eben auch die zweite Zeile im Code an, z.B.:
strName = Dir(strPath & "AB_*.txt")
falls denn alle Dateien mit "AB_" anfangen sollten und hinten mit ".txt" enden.
cu, Bernd
AW: selektive Daten aus Textdatei in Excel kopieren
14.07.2011 12:23:43
ulzie
Hallo Bernd,
leider werde ich noch immer nicht schlau aus dem Makro, ich habe den richtigen Pfad angegeben+ korrekten Namen, wenn ich das Makro ausführe passiert einfach nichts.
Dürfte ich Dir vielleicht eine originale TXT-datei zukommen lassen?
Ich hoffe ich stapaziere Deine Nerven nicht zu sehr.
Viele Grüße,
Ulzie
Anzeige
AW: selektive Daten aus Textdatei in Excel kopieren
14.07.2011 13:23:57
bst
Hi Ulzie,
schick halt mal her.
FWIW, der Code macht eigentlich nichts besonderes.
Mit Hilfe von
strName = Dir(strPath & "*.ini")
werden alle INI-Dateien im Pfad strPath durchlaufen. Achtung: am Ende von strPath muss ein \ stehen!
dann wird über alle Spalten der Zeile 1 die WinAPI-Funktion GetPrivateProfileString aufgerufen. Diese liest aus dem Abschnitt mit dem Namen aus Zeile 1 den Wert mit dem Namen aus Zeile 2 aus.
Für den 1. Wert aus Spalte 2 wäre das denn:
lngSize = GetPrivateProfileString("Frequenz dist", "Frequency, Hz", "(not found)", strBuffer, 256, DateiPfad)
Der Default-Wert "(not found)" ist dabei wohl unglücklich, nimm hier vielleicht besser "-1" oder so.
cu, Bernd
Anzeige
AW: selektive Daten aus Textdatei in Excel kopieren
14.07.2011 13:37:10
ulzie
Hallo Bernd,
ich habe mittlerweile per Makrorecorder die Möglichkeit gefunden die Daten zunächst zu impotieren und dann zu kopieren. Da sie alle gleich benannt sind brauche ich die Datenpunkte nur im Zielordner zu ändern.
Vielleicht geht es mit Deiner Lösung noch etwas schneller.
Hier ein Beispiel einer Textdatei
https://www.herber.de/bbs/user/75708.txt
Vielen Dank ulzie
AW: selektive Daten aus Textdatei in Excel kopieren
14.07.2011 14:30:56
bst
Hi,
das funktioniert hier schon. Wenn das .TXT-Dateien sind musst Du natürlich den Dir-Befehl anpassen:
strName = Dir(strPath & "*.txt")
Und - nochmals - den Startpfad hast Du angepasst?
strPath = "e:\test\freq\"
Und das \ am Ende auch nicht vergessen?
cu, Bernd
Anzeige
AW: selektive Daten aus Textdatei in Excel kopieren
14.07.2011 16:18:32
ulzie
Hallo Bernd,
es lag vermutlich nur am \, welches ich vergessen habe :),
vielen herzlichen Dank für die Lösung meines Problemes, mit Deinem Makro geht es doch erheblich schneller.
Ein sehr glücklicher,
ulzie

320 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige