Números aleatorios redondeados.
Hola amigo denciso.. De nuevo te pregunto y espero me puedas ayudar.. Hice una pregunta ..
Bueno hago números aleatorios, pero lo que necesito es que el resultado que me de sea redondeado a una cifra. Ej: el numero aleatorio es 1253 quiero que se aproxime a 1250 o a 1200 o pase a 1300 y así en con cualquier numero que salga aleatoriamente.
Y un experto me dio este código..
Private Function Aleatorio(Minimo As Long, Maximo As Long, AproxIzq As Long, AproxDer As Long) As Long
Nuevo:
Randomize
Aleatorio = CLng((Minimo - Maximo) * Rnd + Maximo)
If Aleatorio >= AproxIzq And Aleatorio <= AproxDer Then
If Aleatorio - AproxIzq > AproxDer - Aleatorio Then
Aleatorio = AproxDer
Else
Aleatorio = AproxIzq
End If
Else
GoTo Nuevo
End If
End Function
Pero cuando corro el programa adicionándole, donde se ejecute, me dice que error en "Aleatorio" y me dice que no es un argumento opcional, adjunto lo que coloco adicionalmente, para saber donde esta el error.
Private Sub Command1_Click()
MsgBox Aleatorio(Text6)
End Sub
Espero me puedas colaborar muchas gracias.
Bueno hago números aleatorios, pero lo que necesito es que el resultado que me de sea redondeado a una cifra. Ej: el numero aleatorio es 1253 quiero que se aproxime a 1250 o a 1200 o pase a 1300 y así en con cualquier numero que salga aleatoriamente.
Y un experto me dio este código..
Private Function Aleatorio(Minimo As Long, Maximo As Long, AproxIzq As Long, AproxDer As Long) As Long
Nuevo:
Randomize
Aleatorio = CLng((Minimo - Maximo) * Rnd + Maximo)
If Aleatorio >= AproxIzq And Aleatorio <= AproxDer Then
If Aleatorio - AproxIzq > AproxDer - Aleatorio Then
Aleatorio = AproxDer
Else
Aleatorio = AproxIzq
End If
Else
GoTo Nuevo
End If
End Function
Pero cuando corro el programa adicionándole, donde se ejecute, me dice que error en "Aleatorio" y me dice que no es un argumento opcional, adjunto lo que coloco adicionalmente, para saber donde esta el error.
Private Sub Command1_Click()
MsgBox Aleatorio(Text6)
End Sub
Espero me puedas colaborar muchas gracias.
1 respuesta
Respuesta de denciso
1