La Función Rnd devuelve un número aleatorio entre 0 y 1.
El siguiente ejemplo muestra un botón que genera un número aleatorio,
el cual si es mayor a 5 se muestra de color rojo, caso contrario, de color verde.
Sub Aleat()
Producto = Rnd * 10
Range("C9").Value = Producto
If Producto > 5 Then
Range("C9").Font.Color = RGB(200, 0, 0)
Else
Range("C9").Font.Color = RGB(0, 200, 0)
End If
End Sub
Para mayor detalle consultar:
Elaborado por: Oscar Lozano
19/05/2013 a las 4:16 am
Las siguientes líneas escribe un número al azar del 1 al 100 y analiza si es par o impar:
Sub paroimpar()
Range("a5") = Int(Rnd * 100) + 1
If Range("a5") / 2 = Int(Range("a5") / 2) Then
Range("b5") = "Es PAR"
Else
Range("b5") = "Es IMPAR"
End If
End Sub
19/05/2013 a las 8:34 pm
Esta función es adecuada para generar números aleatorios al hacer un click.
Se puede modificar esta función completando la sintaxis con "Rnd(Number)"
Un Rnd(#Menor que cero), dará como resultado siempre el mismo número, utilizando Number como valor de inicialización.
Un Rnd(#Mayor que cero), dará como resultado el siguiente número aleatorio en la secuencia.
Un Rnd(#Igual a cero), dará como resultado el número generado por última vez.
Un Rnd(Omitido), dará como resultado, el siguiente número aleatorio en la secuencia.
Ejemplos:
Rnd()
Rnd(0.85)
Rnd(5)
Rnd(0)
Saludos cordiales
19/05/2013 a las 10:06 pm
Esta función equivalente a ALEATORIO() de Excel es muy utilizada po ejemplo cuando se crean contraseñas o códigos de productos de un almacen.
Los ejemplos son muy explicativos aunque se asocian con otras funciones para los programadores es facil de entender.
23/05/2013 a las 11:16 am
hay que tomar en cuenta cuando se le de llamar a la función Rnd, siempre se debe utilizar la instrucción Randomize sin argumento para iempezar el generador de números aleatorios con un valor inicial basado en el reloj del mismo sistema.
pero para producir enteros aleatorios en un intervalo dado, se puede utilizar esta formula que ayudara :
Int((Límite_superior - límite_inferior + 1) * Rnd + límite_inferior) Aquí el límite_superior es el número mayor del intervalo y límite_inferior es el número menor del intervalo y asi podremos utilizar el rango que nos convenga de acuerdo al trabajo a realizar
11/07/2014 a las 11:10 pm
La función ALEATORIO tiene mucha utilidad en la estadistica para generar probabilidades, sin embargo se puede hacer usar de ALEATORIO.ENTRE para elegir numeros con limites inferior y superior.
01/08/2014 a las 11:46 pm
La función nos presenta la propiedad de colocar un color determinante a un rango definido, por mayor igual o menor igual, a un numero aleatorio. Podriamos mejorar este función intentando colocar una propiedad a este numero aleatorio para establecer su limite inferio y superior, como la función en excel =aleatorio.entre
02/08/2014 a las 2:33 am
La función Rnd devuelve un número aleatorio, y esta posee un solo parámetro.
Rnd (número)
Dim LimiteInferior As Integer
Dim LimiteSuperior As Integer
LimiteInferior = 20
LimiteSuperior = 40
MsgBox Int((LimiteInferior - LimiteSuperior + 1) * Rnd + LimiteInferior)
02/08/2014 a las 3:56 am
Esta función me parece muy útil y pude entenderla mejor gracias al documento que colgaste como ejemplo. Sin embargo me gustaría saber que distribución es la que toma el VBA por default ,aunque creo que es la distribución uniforme; si es asi, entonces como se podría aplicar esta función pero con otras distribuciones como la binomial por ejemplo.
05/09/2014 a las 7:20 pm
Me queda claro que la función Rnd tiene grandes aplicaciones en estadística y probabilidades, simulación Monte Carlo, procesos aleatorios y finanzas cuantitativas, entre otros campos. Todavía no termino de familiarizarse con las estructuras de control, la creación de botones y otros. Teniendo estas cosas claras entiendo que es posible definir para varios rangos diferentes tipos de colores.
05/09/2014 a las 7:22 pm
Me queda claro que la función Rnd tiene grandes aplicaciones en estadística y probabilidades, simulación Monte Carlo, procesos aleatorios y finanzas cuantitativas, entre otros campos. Todavía no termino de familiarizarse con las estructuras de control, la creación de botones y otros. Teniendo estas cosas claras entiendo que es posible definir para varios rangos diferentes tipos de colores.
08/09/2014 a las 5:28 pm
Interesante ejemplo
28/09/2014 a las 9:27 pm
MUCHAS GRACIAS Y EN CASO DE QUE ALGUN COLEGA NO QUIERA QUE LE SALGAN DECIMALES SOLO TIENE QUE COLOCAR ESTA LINEA
Selection.NumberFormat = "0"
O SEA AQUI DEBAJO
Range("C9").Value = Producto
Selection.NumberFormat = "0"