Eccoti la modifica alla macro:
Nel caso servisse due note per applicarla:
Dal foglio Excel Alt+F11 apri la finestra VBA
dal Menu Inserisci scegli "Modulo", ci ricopi pari pari tutto il codice che trovi qui sotto. Dopo copiato di nuovo Alt+F11 per tornare al foglio Excel. Per lanciare la Macro Menu Strumenti)Macro>Macro selezioni dalla finestra che appare la macro "Numeri Casuali" e clicchi su esegui.
'------
'funzione prelevata dal sito
www.Erlandsendata.no' modificata ed adatttata 15/12/05
Function UniqueRandomNumbers(NumCount As Long, LLimit As Long, ULimit As Long) As Variant
' crea un array con NumCount unico di numeri casuali interi
' nel range LLimit - ULimit
Dim RandColl As Collection, i As Long, varTemp() As Long
UniqueRandomNumbers = False
If NumCount ( 1 Then Exit Function
If LLimit > ULimit Then Exit Function
If NumCount > (ULimit - LLimit + 1) Then Exit Function
Set RandColl = New Collection
Randomize
Do
On Error Resume Next
i = CLng(Rnd * (ULimit - LLimit) + LLimit)
RandColl.Add i, CStr(i)
On Error GoTo 0
Loop Until RandColl.Count = NumCount
ReDim varTemp(1 To NumCount)
For i = 1 To NumCount
varTemp(i) = RandColl(i)
Next i
Set RandColl = Nothing
UniqueRandomNumbers = varTemp
Erase varTemp
End Function
Sub NumeriCasuali()
Dim varrRandomNumberList As Variant, cl As Range, i As Long, X As Long, Y As Long
Dim Z As Long, R As Long
' dichiaro quanti numeri voglio estrarre
X = InputBox("Quanti numeri vuoi estrarre", "NUMERI DA ESTRARRE")
'dichiaro il numero più basso da estrarre casualmente
Y = InputBox("Numero più basso", "DICHIARA IL LIMITE INFERIORE")
'dichiaro il numero più alto da estrarre casualmente
Z = InputBox("Numero più alto", "DICHIARA IL LIMITE SUPERIOREE")
'dichiaro la riga dove scrivere i risultati
R = InputBox("In che riga scrivere?", "DICHIARA LA RIGA DOVE METTERE IL RISULTATO")
varrRandomNumberList = UniqueRandomNumbers(X, Y, Z)
For Each cl In Range(Cells(R, 1), Cells(R, X))
i = i + 1
cl.Formula = varrRandomNumberList(i)
Next cl
Set cl = Nothing
End Sub
'---------
Come puoi vedere, ho modificato in modo che la macro all'avvio ti chiede quanti numeri vuoi estrarre, qual'è il limite inferiore e qual'è il limite superiore e in che riga vuoi scrivere il risultato.
Buon lavoro
Andrea