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
If
i > j
Then
Call
colZ.Add(.Range(rngList(j), rngList(i)))
End
If
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