"dynamischere" lösung gesucht
15.02.2008 18:53:00
christian
Ich suche nach einer besseren lösung. und zwar habe ich txt. files die ergänzt werden müssen bevor sie zusammengefügt (output.txt) und ins excel importiert werden.
Ich suche eine bessere lösung für den mit ##### markierten teil. in der spalte "Name" sollte per input box der name erfasst werden können. da es sich um messwerte handelt die immer 3-fach wiederholt sind, möchte ich
1. den namen für die "dreierpackete" nur einmal eingeben müssen und
2. im vorliegenden bsp. sind es 27 messwerte die können aber bis über 100 variieren. also muss es irrgenwie dynamischer sein als meine variante (die irrgenwie nicht funktioniert).
vollständigkeitshalber ein datenpacket:
https://www.herber.de/bbs/user/49955.zip
die Datei entpacken und ordner auf den desktop legen und im register "rohdaten" commandbutton drücken oder modul 1 starten. Das mergefile heisst output .txt.
Sub MergeFiles(SourceFolder As String, OutputFile As String)
'Zusammenfügen nummerierter .txt Dateien in aufsteigender Richtung
Dim i As Integer
Dim j As Integer
Dim Textzeile As String
Dim Dateiname As String
Dim numOut As Long
Dim numIN As Long
Dim strNum As String, n As Long
Dim ZusatzArray(8)
For j = 0 To 8
ZusatzArray(j) = InputBox("Aktuelle Datei: " & Dateiname & Chr(13) & Chr(10) _
& "Bitte " & j + 1 & ". Zusatz erfassen:", "Zusatz", "")
Next
numOut = FreeFile
Open SourceFolder & OutputFile For Output As #numOut
Dateiname = Dir(SourceFolder & "*.txt")
Do While Not Dateiname = ""
If Dateiname OutputFile Then
n = 0
numIN = FreeFile
strNum = InputBox("Aktuelle Datei: " & Dateiname & Chr(13) & Chr(10) _
& "Bitte Anzahl Sporen oder DNA-Konzentration erfassen:", "Zusatz", "")
Open SourceFolder & Dateiname For Input As #numIN 'Öffne gefundene Datei
Do While Not EOF(numIN) 'Schleife bis Dateiende.
Line Input #numIN, Textzeile 'Zeile in Variable einlesen.
n = n + 1
If n = 3 Then
'einfügen in Zeile 3
Textzeile = "Name " & Textzeile '& VBA.Space(77 - Len(Textzeile))
Textzeile = Textzeile & Chr(32) & "Konzentration"
Textzeile = Textzeile & Chr(32) & Format(Val(strNum), "000000000000.00")
ElseIf (n >= 4) And (n
Kann mir jemand weiterhelfen?
Vielen dank im Voraus
gruss Christian