Attribute VB_Name = "Prog" Function Remov(Y) ''Find all occurances of Y and replace them... For X = 0 To Window.PP.ListCount - 1 If Window.PP.List(X) = Str$(Y + 1) Then ''...with anything ELSE 2 Z = Int(Rnd * 5) If Z = Y Then GoTo 2 Window.PP.List(X) = Str$(Z + 1) End If Next X End Function Function Maxup(Y) ''Count all occurances of Y For X = 0 To Window.PP.ListCount - 1 If Window.PP.List(X) = Str$(Y + 1) Then Z = Z + 1 Next X ''Atempt to fill 1/3 of the list with Y If Z < Window.PP.ListCount / 3 Then For Z = 0 To Window.PP.ListCount / 3 X = Int(Rnd * Window.PP.ListCount) Window.PP.List(X) = Str$(Y + 1) Next Z End If End Function Function Normalize(Y) ReDim O(Window.PP.ListCount) ''Find all occurances of Y For X = 0 To Window.PP.ListCount - 1 If Window.PP.List(X) = Str$(Y + 1) Then Z = Z + 1: O(Z) = X Next X ''Attempt to replace all of them except one For w = 2 To Z Window.PP.List(O(w)) = Str$(Int(Rnd * 5) + 1) Next w End Function