Sub StringShuffle() ThisComponent.CurrentSelection.FormulaArray = ArrayShuffle(ThisComponent.CurrentSelection.FormulaArray) End Sub Function ArrayShuffle(ByVal src()) Dim res res = ArrayCopy(src) Dim i For i = UBound(res) To 1 Step -1 Dim j j = NumberRandom(0, i + 1) Dim t t = res(j) res(j) = res(i) res(i) = t Next ArrayShuffle = res End Function Function ArrayCopy(ByVal src()) Dim res(UBound(src)) Dim i For i = 0 To UBound(res) res(i) = src(i) Next ArrayCopy = res End Function Function NumberRandom(ByVal min, ByVal max) Dim len len = max - min Dim res res = Int(Rnd() * len) + min NumberRandom = res End Function