29.11.2017, 17:12
Hallo,
ich habe folgendes Problem:
Ich betrachte in einer Simulation 8760 Stunden (1 Jahr) mit dazugehörigen Werten in Prozent für einen Speicherfüllstand:
t f
0 50
1 52
2 55
3 60
. .
. .
. .
8760 20
Zusätzlich habe ich für jeden Prozentwert ein vertikales Temperaturprofil meines Speicherinhalts. Der Speicher ist 30 m hoch und ich habe die Temperaturen in cm aufgelöst:
f 0 1 2 3 4 ... 3000
0 Temperaturdaten . . . . .
1
2
3
.
.
.
100
Ich benötige jetzt eine Ausgabedatei in txt Format, die die folgende Form hat:
t z T
0 0 .
0 1 .
0 2 .
0 3
. .
. .
. .
1 0
1 1
1 2
1 3
. .
. .
. .
2
2
2
2
.
.
.
8760
8760
8760
8760
Insgesamt werden das 26.280.000 Zeilen sein. Ich möchte das ganze also gerne per VBA realisieren. Das ganze würde man denke ich am schlausten per Schleife realisieren. Folgende Gedanken habe ich mir schon gemacht:
Sub Ergebnisausgabe()
Dim i As Integer
Dim j As Integer
For i = 0 To 8760 Step 1
For j = 0 To 3000 Step 1
Cells(j, 1).Value = "i"
Cells(j, 2):Value = "j"
Next j
Next i
End Sub
Ich ich denke, dass ich nach ähnlicher Form dann auch die Temperaturdaten aus der entsprechenden Tabelle rausholen und in Spalte 3 eintragen kann.
Nun fehlt mir aber noch der wichtige Schritt, das alles in eine Datei einzutragen. Es soll wie folgt funktionieren:
Für den Zeitschritt i = 0 soll die 3-zeilige Tabelle erstellt werden. Diese soll dann in eine txt gespeichert werden. Danach kommt Zeitschritt i=1 und die erzeugte Tabelle soll dann in meiner txt einfach ab der nächste Zeile angehängt werden usw, bis man dann die 8760 Schritte durch hat.
Wer kann mir bei solch einem Code helfen?
Vielen Dank!
Alessandro
ich habe folgendes Problem:
Ich betrachte in einer Simulation 8760 Stunden (1 Jahr) mit dazugehörigen Werten in Prozent für einen Speicherfüllstand:
t f
0 50
1 52
2 55
3 60
. .
. .
. .
8760 20
Zusätzlich habe ich für jeden Prozentwert ein vertikales Temperaturprofil meines Speicherinhalts. Der Speicher ist 30 m hoch und ich habe die Temperaturen in cm aufgelöst:
f 0 1 2 3 4 ... 3000
0 Temperaturdaten . . . . .
1
2
3
.
.
.
100
Ich benötige jetzt eine Ausgabedatei in txt Format, die die folgende Form hat:
t z T
0 0 .
0 1 .
0 2 .
0 3
. .
. .
. .
1 0
1 1
1 2
1 3
. .
. .
. .
2
2
2
2
.
.
.
8760
8760
8760
8760
Insgesamt werden das 26.280.000 Zeilen sein. Ich möchte das ganze also gerne per VBA realisieren. Das ganze würde man denke ich am schlausten per Schleife realisieren. Folgende Gedanken habe ich mir schon gemacht:
Sub Ergebnisausgabe()
Dim i As Integer
Dim j As Integer
For i = 0 To 8760 Step 1
For j = 0 To 3000 Step 1
Cells(j, 1).Value = "i"
Cells(j, 2):Value = "j"
Next j
Next i
End Sub
Ich ich denke, dass ich nach ähnlicher Form dann auch die Temperaturdaten aus der entsprechenden Tabelle rausholen und in Spalte 3 eintragen kann.
Nun fehlt mir aber noch der wichtige Schritt, das alles in eine Datei einzutragen. Es soll wie folgt funktionieren:
Für den Zeitschritt i = 0 soll die 3-zeilige Tabelle erstellt werden. Diese soll dann in eine txt gespeichert werden. Danach kommt Zeitschritt i=1 und die erzeugte Tabelle soll dann in meiner txt einfach ab der nächste Zeile angehängt werden usw, bis man dann die 8760 Schritte durch hat.
Wer kann mir bei solch einem Code helfen?
Vielen Dank!
Alessandro