Prova un pò a vedere questo esempietto che ti ho buttato giù:
Private Sub Command1_Click()
Dim aNumeri(20) As Integer
Dim aNuovi() As Integer
Dim i As Integer
Dim y As Integer
Dim fool As Integer
Dim flag As Boolean
For i = 0 To 20
aNumeri(i) = CInt(Int((20 - 1 + 1) * Rnd() + 1))
Debug.Print aNumeri(i)
Next
For i = 0 To 20
fool = aNumeri(i)
For y = 0 To 20
If aNumeri(y) = fool And i <> y Then aNumeri(i) = 0
Next
Next
For i = 0 To 20 - 1
If aNumeri(i) = 0 And aNumeri(i + 1) <> 0 Then
aNumeri(i) = aNumeri(i + 1)
aNumeri(i + 1) = 0
flag = True
End If
Next
ReDim aNuovi(0)
For i = 0 To 20
If aNumeri(i) <> 0 Then
If UBound(aNuovi) >= 0 And aNuovi(0) <> 0 Then
ReDim Preserve aNuovi(UBound(aNuovi) + 1)
aNuovi(UBound(aNuovi)) = aNumeri(i)
Else
aNuovi(0) = aNumeri(i)
End If
End If
Next
Debug.Print "Correzzione"
For i = 0 To UBound(aNuovi)
Debug.Print aNuovi(i)
Next
End Sub
.
Autore del libro sul FOREX, MetaTrader e creazione dei trading system http://ilmiolibro.kataweb.it/schedalibro.asp?id=115872