Menu

Excel Macro: Estrazione multiple di numeri casuali da 1 a 90

11 settembre 2016 - Excel macro

Abbiamo visto come fare per estrarre un numero a caso con excel, ora vediamo come fare ad estrarne un numero specificato per esempio 10.000 numeri casuali.

Partiamo dal file di questo articolo Excel Macro: Estrazione numero casuale da 1 a 90

Premiamo Alt+F11 per andare all’editor ed inseriamo una nuova sub chiamata xrand e aggiungiamo le seguenti righe di codice

Nvolte è il numero di volte che vogliamo ripetere l’estrazione ed andrà a prelevare questo valore dalla cella C1 di Foglio1

Randomize è per generare una nuova sequenza ma mettiamo un apostrofo prima comando in modo che non venga eseguito. Con l’apostrofo tutto quello che segue in quella riga diventa un commento al codice anziché comandi veri e propri.

Poi abbiamo la riga per l’estrazione del numero casuale Numero = Int(90 * Rnd) + 1 che è invariata rispetto l’altro articolo

Da qui in poi inizia la routine che tiene conto degli estratti in pratica una generato il numero X va a leggere nella colonna 1 alla riga X Quante volte è gia stato estratto e lo salva nella variabile Quanti. Incrementa Quanti di 1 perchè è stato estratto e alla riga successiva salva nella colonna 1 (praticamente la colonna A) alla riga X il valore aggiornato. In questo modo avremo nella colonna A tutti i numeri dalla riga 1 alla riga 90 con indicato il numero che sono stati estratti

Sub xrand()
    NVolte = Sheets("Foglio1").Range("C1").Value
        For I = 1 To NVolte
            'Randomize
            Numero = Int(90 * Rnd) + 1
            Quanti = Sheets("Foglio1").Cells(Numero, 1).Value
            Quanti = Quanti + 1
            Sheets("Foglio1").Cells(Numero, 1) = Quanti
        Next I
End Sub

2016-09-10-05-05-36

Ora aggiungiamo un nuovo tasto per fare eseguire la macro, tasto destro sopra il tasto e scegliamo proprietà per cambiare la scritta commandbutton in qualcosa di più familiare

2016-09-10-05-06-42

Tipo Genera N volte

2016-09-10-05-07-28

Ora mettiamo in C1 il numero di volte che vogliamo ripetere il ciclo di estrazione, io ho messo 10.000 e poi basta premere il tasto

2016-09-10-05-08-23 2016-09-10-05-38-53

Se togliamo l’apostrofo prima di randomize diventerà nero come il resto del codice e ricaverà una nuova sequenza random ad ogni estrazione.

2016-09-10-05-39-48

Selezionate la colonna A e premete canc per cancellare e guardate la differenza altrimenti sommerà le nuove estrazioni. Come potete vedere ora genera una serie di estrazioni molto uniformi, tutti i numeri estratti sono sopra i 100 mentre prima c’erano numeri estratti 130 volte e numeri estratti 70 volte 

2016-09-10-05-41-16 2016-09-10-05-41-26 2016-09-10-05-41-40

 

 

Un pensiero su “Excel Macro: Estrazione multiple di numeri casuali da 1 a 90

  • Pingback: Excel Macro: Estrazione numero casuale da 1 a 90 | Eris Magagnin

  • Lascia un commento