In diesem Fall müsste die Ausgabe dann so aussehen:
Zyklus 1 |
Zyklus 2 |
Zyklus 3 |
Zyklus 4 |
Zyklus 5 |
0,2 |
90,27 |
0,26 |
90,27 |
0,54 |
10,04 |
80,15 |
10,04 |
80,44 |
10,04 |
20,03 |
70,49 |
20,05 |
70,39 |
20,05 |
30,13 |
60,23 |
30,13 |
60,26 |
30,1 |
40,19 |
50,16 |
40,12 |
50,13 |
40,12 |
50,06 |
40,12 |
50,13 |
40,19 |
50,16 |
60,16 |
30,01 |
60,13 |
30,04 |
60,19 |
70,16 |
20,03 |
70,13 |
20,06 |
70,33 |
80,28 |
10,04 |
80,25 |
10,06 |
80,18 |
90,27 |
0,47 |
90,27 |
0,54 |
90,36 |
|
0,26 |
|
|
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | Option Explicit
Public Sub Beispiel()
Dim colZ As VBA.Collection
Dim rngList As Excel.Range
Dim i As Long , j As Long
Dim t As Boolean
Set colZ = New VBA.Collection
With Worksheets( "Tabelle1" )
Set rngList = .Range(.Range( "S1" ), .Range( "S1" ). End (xlDown))
j = 1
t = rngList(1) <= rngList(2)
For i = 1 To rngList.Count - 1
If t Xor rngList(i) <= rngList(i + 1) Then
Call colZ.Add(.Range(rngList(j), rngList(i)))
t = Not t
j = i
End If
Next
For i = 1 To colZ.Count
.Range( "U1" ).Offset(, i - 1).Value = "Zyklus " & i
.Range( "U2" ).Offset(, i - 1).Resize(colZ(i).Rows.Count).Value = colZ(i).Value
Next
End With
End Sub
|
|