Excel VBA Randomize

VBA Randomize è la funzione utilizzata per creare una funzione di numero casuale che è RND. Sappiamo tutti che VBA RND viene utilizzato per creare i numeri casuali che vengono utilizzati principalmente per la fatturazione, aumentare i numeri dei biglietti e molti per le applicazioni ci sono. Qui, VBA Randomize viene utilizzato per modificare il valore seed che alimentiamo per la funzione RND. Per una migliore comprensione, stiamo usando la funzione RND per ottenere i numeri casuali, quindi la funzione Randomize con RND che fornirà una maggiore varietà di numeri casuali. Come cambia il valore di input seed con cui viene modificato anche l'output. Ciò significa che genererà i numeri secondo l'input seed fornito nella funzione RND e il numero generato sarà nello stesso intervallo.

La cosa principale di VBA Randomize è che non ha alcuna sintassi. Dobbiamo solo usarlo insieme alla funzione RND che ha la sintassi da applicare.

Come randomizzare un numero in Excel VBA?

Di seguito sono riportati i diversi esempi per randomizzare un numero in Excel utilizzando la funzione VBA Rnd.

Puoi scaricare questo modello VBA Randomize Excel qui - VBA Randomize Excel Template

Excel VBA Randomize - Esempio n. 1

È molto facile creare numeri casuali personalizzati con VBA Randomize. Per questo, seguire i passaggi seguenti:

Passaggio 1: vai alla finestra VBA, nella scheda del menu Inserisci seleziona Modulo come mostrato di seguito.

Passo 2: Ora scrivi la sottocategoria di VBA Randomize o possiamo usare qualsiasi nome per definire il codice VBA.

Codice:

 Sub VBA_Randomize () End Sub 

Passaggio 3: ora definire una variabile. Qui, abbiamo considerato la variabile RNum come tipo di dati Double. La logica alla base dell'utilizzo di Double è che otterremo piccole modifiche nei numeri casuali generati. Il doppio ci aiuterà a vedere i numeri in decimali.

Codice:

 Sottotitolo VBA_Randomize () Dim RNum come sottotitolo doppia estremità 

Passaggio 4: ora assegnare la funzione VBA RND alla variabile RNum definita.

Codice:

 Sub VBA_Randomize () Dim RNum As Double RNum = Rnd End Sub 

Passaggio 5: Ora per vedere la generazione di numeri casuali, utilizzeremo Debug.Print che viene utilizzato per stampare il messaggio.

Codice:

 Sottotitolo VBA_Randomize () Dim RNum come Double RNum = Rnd Debug.Print RNum End Sub 

Passaggio 6: per visualizzare la generazione del valore o del numero, aprire la finestra immediata dall'elenco del menu Visualizza. Oppure possiamo usare un tasto di scelta rapida come Ctrl + G per ottenere questa finestra.

Passo 7: Ora compila il codice ed eseguilo facendo clic sul pulsante Riproduci situato sotto la barra dei menu. Vedremo il primo numero casuale nella finestra immediata come mostrato di seguito.

E se eseguiamo il codice, ancora e ancora, più volte, vedremmo alcuni numeri casuali in più.

Step 8: Ora se applichiamo Randomize prima della funzione RND, cambierà l'input seed che la funzione RND stava ottenendo.

Codice:

 Sottotitolo VBA_Randomize () Dim RNum come doppio Randomize RNum = Rnd Debug.Print RNum End Sub 

Passaggio 9: eseguire nuovamente il codice più volte per vedere quali numeri vengono generati.

Ecco come funziona la funzione Randomize in VBA se utilizzata con la funzione RND .

Vediamo qualche altro esperimento con la stessa codifica. Useremo ora la funzione CInt con RND che viene utilizzato per la conversione del tipo di dati. Ciò significa che convertirà il numero casuale generato come doppio in numeri interi.

Codice:

 Sottotitolo VBA_Randomize1 () Dim RNum come Double RNum = CInt (Rnd) Debug.Print RNum End Sub 

Ora esegui di nuovo il codice. Vedremo, ora i numeri casuali vengono generati come numeri interi. Ma i valori sono compresi nell'intervallo 0 e 1.

Abbiamo già visto, se continuiamo a usare il doppio, i valori sarebbero tra 0 e 1. Questo perché abbiamo usato Randomize insieme alla funzione RND. Ora moltiplichiamo la funzione RND con qualsiasi numero. Diciamo 20.

Codice:

 Sottotitolo VBA_Randomize1 () Dim RNum come doppio RNum = CInt (Rnd * 20) Debug.Print RNum End Sub 

Ora esegui di nuovo il codice.

Ora la scena è cambiata. I valori casuali generati sono maggiori di 0 ma inferiori a 20.

Excel VBA Randomize - Esempio n. 2

C'è un altro modo per vedere come funziona VBA Randomize. Appliceremo alcune formule matematiche insieme a Randomize e vedremo come randomizzare aiuta a generare valori casuali. Ma in questo esempio, vedremo l'output nella finestra di messaggio. Per questo, seguire i passaggi seguenti:

Passaggio 1: in un modulo, scrivere la sottocategoria di VBA Randomize come mostrato di seguito.

Codice:

 Sub VBA_Randomize2 () End Sub 

Passaggio 2: considera la stessa variabile che abbiamo definito nell'ultimo esempio ma come intero.

Codice:

 Sottotitolo VBA_Randomize2 () Dim RNum come numero intero finale 

Step 3: Ora seleziona la funzione Randomize qui prima di iniziare a mettere la formula matematica.

Codice:

 Sottotitolo VBA_Randomize2 () Dim RNum come intero Randomize End Sub 

Passo 4: ora considera qualsiasi formula matematica come addizione, sottrazione secondo il tuo requisito come mostrato di seguito.

Codice:

 Sub VBA_Randomize2 () Dim RNum come numero intero Randomize RNum = Int ((300-200 + 1) End Sub 

Passaggio 5: ora utilizza la funzione RND come mostrato di seguito.

Codice:

 Sub VBA_Randomize2 () Dim RNum come intero Randomize RNum = Int ((300-200 + 1) * Rnd + 200) End Sub 

Hai notato che abbiamo usato la maggior parte dell'espressione matematica generalmente utilizzata.

Passaggio 6: ora utilizza Msgbox con una variabile definita per vedere i numeri casuali generati.

Codice:

 Sottotitolo VBA_Randomize2 () Dim RNum come intero Randomize RNum = Int ((300-200 + 1) * Rnd + 200) MsgBox RNum End Sub 

Passaggio 7: ora esegui il codice. Otterremo un numero casuale come 234. Questo perché il numero viene moltiplicato per (300-200 + 1) e quindi aggiunto con 200. Il che significa che il numero casuale è molto meno di natura e, a causa delle espressioni matematiche utilizzate, è venendo come 234.

E eseguiamo di nuovo il codice, ci darà il messaggio come 294 .

Pro di Excel VBA Randomize

  • Siamo in grado di generare qualsiasi numero casuale tra qualsiasi intervallo che vogliamo.
  • Poiché l'intervallo diventa limitato, ma non vi è ancora alcun limite alla generazione di numeri casuali.
  • Possiamo limitare l'intervallo di generazione di numeri casuali che sarebbe maggiore di 0.

Cose da ricordare

  • Randomize può essere utilizzato anche con diverse funzioni. Ma usarlo con la funzione RND dà il risultato di cui abbiamo bisogno.
  • Randomize dà numeri casuali tra 0 e 1 se usato da solo con RND.
  • Se utilizziamo qualsiasi altro numero o espressione matematica con RND, allora Randomize verrà generato i numeri casuali tra il valore più alto potrebbero essere generati.
  • Una volta fatto, salva il file in formato macro Abilita Excel.
  • Randomize può essere utilizzato dove è necessario generare numeri casuali ma tra alcuni input seed di intervallo.

Articoli consigliati

Questa è una guida a VBA Randomize. Qui discutiamo come randomizzare un numero in Excel usando il codice VBA insieme ad esempi pratici e template Excel scaricabili. Puoi anche consultare i nostri altri articoli suggeriti:

  1. Scrivi file di testo in Excel VBA
  2. Genera numeri casuali in Excel
  3. Dichiarazione delle variabili VBA di Excel
  4. Zeri iniziali di Excel (esempi)

Categoria: