Вы на самом деле не используете массив, который является основой 1, не так ли?Это было бы первой ошибкой.
Если у вас есть 4 значения, то
Count = 4
Redim Colours(Count-1)
Массив должен начинаться с 0, поэтому допустимые индексы должны быть 0,1,2,3.
В любом случае,то, что вы ищете, это функция Mod
.Это в основном дает вам остаток после операции деления.Это очень удобно для перемещения индексов массива по своему усмотрению.
Index = (Index + Offset + Count) Mod Count
Использование функции Mod
гарантирует значение от -Count+1
до Count-1
Где Offset
- любое значение от -Count
до Count
.
+ Count
гарантирует, что вы на самом деле не получите отрицательных значений.
Если вы настаиваете на использовании массива, которыйначинается с основания 1, затем формула превращается в
Index = ((Index - 1 + Offset + Count) Mod Count) + 1