24.02.2018, 13:46
Hallo,
schaut euch bitte folgende(n) Formel/Code an:
Sub Im_Kreis_laufen()
Dim i, Next, str
str = "5#155#15#18#20#229"
str = Split(str, "#")
vbNext = 18
For i = 0 To 100
vbNext = str(((Application.Match(CStr(vbNext), str, 0)) Mod (UBound(str))))
Debug.Print vbNext
Next
End Sub
Von einem beliebigen Startwert vbNext ausgehend aus, der ein Zahlenelement aus str ist, wird
mit debug.print vbNext immer der jeweils nächste Zahlenwert aus dem String str ausgegeben.
Ist das Ende hier mit 229 erreicht, fängt die ganze Sache wieder von vorn an, also hier mit 5.
Ich hätte das Ganze jetzt gerne so modifiziert das nicht der Nächste Zahlenwert ausgegeben
wird, sondern der vorherige. Die Richtung der Ausgabe der Zahlenwerte soll sich also umkehren.
Ist dann irgendwann mal die 5 erreicht kommt als nächster Zahlenwert die 229 usw.
schaut euch bitte folgende(n) Formel/Code an:
Sub Im_Kreis_laufen()
Dim i, Next, str
str = "5#155#15#18#20#229"
str = Split(str, "#")
vbNext = 18
For i = 0 To 100
vbNext = str(((Application.Match(CStr(vbNext), str, 0)) Mod (UBound(str))))
Debug.Print vbNext
Next
End Sub
Von einem beliebigen Startwert vbNext ausgehend aus, der ein Zahlenelement aus str ist, wird
mit debug.print vbNext immer der jeweils nächste Zahlenwert aus dem String str ausgegeben.
Ist das Ende hier mit 229 erreicht, fängt die ganze Sache wieder von vorn an, also hier mit 5.
Ich hätte das Ganze jetzt gerne so modifiziert das nicht der Nächste Zahlenwert ausgegeben
wird, sondern der vorherige. Die Richtung der Ausgabe der Zahlenwerte soll sich also umkehren.
Ist dann irgendwann mal die 5 erreicht kommt als nächster Zahlenwert die 229 usw.