Generare 3 numeri casuali unico in Microsoft Excel
Se desideri generare un elenco di numeri casuali univoci, puoi utilizzare le funzioni RANDBETWEEN e VBA RND. In questo articolo, genereremo 3 numeri univoci dall’elenco fornito .
Puoi trovare la domanda originale qui
Domanda: desidero che una macro generi un elenco di 3 numeri casuali da un elenco di numeri salvati nella colonna A. Esiste una condizione di cui è necessario occuparsi del codice VBA. La condizione è che ci siano 3 numeri che esistono nella colonna B, quindi la macro deve creare un elenco di numeri che non si sono verificati una volta nella colonna B. In questo modo, possiamo avere un elenco di numeri univoci nella colonna B e C.
Di seguito è riportata l’istantanea dell’esempio che abbiamo:
===
Per ottenere l’elenco di numeri casuali univoci; è necessario seguire i passaggi seguenti per avviare l’editor VB Fare clic sulla scheda Sviluppatore Dal gruppo Codice selezionare Visual Basic
-
Copia il codice seguente nel modulo standard
Sub RandomNumbers() Dim ws As Worksheet Dim ar As Variant Dim RandomNum As Long Dim i As Integer Dim myVal As Long Randomize Set ws = ThisWorkbook.Sheets("Numbers") With ws ar = .Range("A" & Rows.Count).End(xlUp).Row .Range("C1:C3").ClearContents For i = 1 To 3 Do RandomNum = Int((1 - ar + 1) * Rnd + ar) myVal = .Range("A" & RandomNum).Value Loop Until Range("B1:C24").Find(what:=myVal, lookat:=xlWhole) Is Nothing .Range("C" & i).Value = myVal Next i End With End Sub
Per eseguire la macro, possiamo premere il tasto F5 dalla tastiera se sei attivo nello schermo di Visual Basic Editor. Un altro modo per eseguire la macro è usare il tasto “ALT + F8”; seleziona la macro e fai clic sul pulsante Esegui
-
Mentre eseguiamo il codice VBA, l’elenco univoco di numeri verrà generato automaticamente
Spiegazione del codice:
Nel codice sopra, useremo la funzione RND & INT insieme a For loop & Do loop per ottenere il risultato.
-
Dichiariamo Dim ws come foglio di lavoro; lo scopo di dichiarare ws come foglio di lavoro è che vogliamo che il codice venga eseguito solo su un foglio di lavoro specifico, ad esempio
Numbers nel nostro esempio Dim RandomNum As Long: questo salverà i numeri univoci Set ws = ThisWorkbook.Sheets (“Numbers”): questa riga assicurerà che il codice venga eseguito solo sul foglio Numbers La prossima riga di codice utilizzerà l’istruzione With ar = .Range (“A” & Rows.Count) .End (xlUp) .Row: questa riga salverà l’ultima cella nella colonna A (24 nel nostro esempio)
Se i nostri blog ti sono piaciuti, condividilo con i tuoi amici su Facebook. E anche tu puoi seguirci su Twitter e Facebook.
_ Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare, integrare o innovare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]_