Generador de números de 4 cifras en excel

Se puede realizar un generador de numero aleatorio de 4 cifras pero que cada cifra este en un cuadro diferente

Respuesta
1

Hay muchas maneras de hacer un generador de números aleatorios primero tienes que definir si lo quieres de probabilidad uniforme donde todos los números tienen la misma probabilidade salir, ejem:

randomize, numero=rnd

worksheetfunction.randonbetween(numero menor, numero mayor)

numero=int(numero menor-(numeromayor-numero menor)*rnd)

o bien de distribucion normal usando el promedio  y la desviacion de tus datos numero = Int(funcion.NormInv(Rnd, promedio, desv))

numero_aleatorio = Int(media + desv * (Sqr(-2 * Log(Rnd)) * Sin(2 * WorksheetFunction.Pi * Rnd)))

Estos son solo algunos ejemplos hay diversos tipos de algoritmos para generar números aleatorios también existe el método de simulación de Motecarlo para escoger números al azar de acuerdo al peso estadístico que tengan tus datos

Después viene definir si quieres permutaciones donde en tu caso seria un máximo de 3 números repetidos o combinaciones 4 números únicos o bien arreglos naturales donde todos los números se repiten ya seria cuestión de que definieras que generador y que tipo de arreglos quieres.

Y maestro james si lo hacemos un aleatorio pero como formulario así

Como no explicas bien lo que quieres te paso un ejemplo con el algoritmo más sencillo te genera una combinación de 4 números únicos como puedes ver en la imagen, crea el formulario y pega el código que esta abajo de esta imagen.

Private Sub CommandButton1_Click()
Dim unicos As New Collection
For I = 1 To 4
    Randomize:  numero = (Int(1 + (28 - 1) * Rnd))
    On Error Resume Next
    unicos.Add numero, CStr(numero)
    If Err = 0 Then
        UserForm1.Controls("textbox" & I) = numero
        UserForm1.Controls("textbox" & I).Font.Size = 40
    End If
    On Error GoTo 0
Next I
End Sub
Private Sub UserForm_Initialize()
UserForm1.Caption = "GENERADOR DE NUMEROS ALEATORIOS"
End Sub

cada cuadro con un numero del 0 al 9 maestro 

Prueba esta macro

Private Sub CommandButton1_Click()
For I = 1 To 4
        Randomize:  numero = (Int(0 + (9) * Rnd))
        UserForm1.Controls("textbox" & I) = numero
        UserForm1.Controls("textbox" & I).Font.Size = 4
Next I
End Sub
Private Sub UserForm_Initialize()
UserForm1.Caption = "GENERADOR DE NUMEROS ALEATORIOS"
End Sub

1 respuesta más de otro experto

Respuesta
1

Le das a una columna formato Personalizada > 0000 y pones en esa columna en tantas celdas como necesites, la fórmula:

=ENTERO(ALEATORIO()*10000)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas