¿Cómo escoger aleatoriamente un valor de un rango mediante código?

Un saludo y gracias de antemano por el tiempo y dedicación prestados. La cuestión seria escoger un valor de manera aleatoria de un rango. El rango en cuestión es de 5 filas por 9 columnas. Los valores de dicho rango están comprendidos entre 1 y 89. Uso la siguiente instrucción (ActiveCell = "=ROUNDUP(RAND()*89,)") para generar un valor aleatorio, pero luego debo validarlo mediante un bucle (Do While), hasta que seleccione uno que pertenezca al rango. Nada practico.

1 Respuesta

Respuesta
1

Esta sería tu solución. En mi ejemplo el rango de números es A1:I5. Solo queda que lances esta macro y todo solucionado:

(Recuerda finalizar y puntuar mi trabajo por favor)

Sub aleatorio()
Do
valor = Application.WorksheetFunction.RandBetween(1, 89)
MsgBox "hemos elegido el número  " & valor & "  comprobemos si existe en el rango"
Set busca = ActiveSheet.Range("a1:i5").Find(valor, LookIn:=xlValues, lookat:=xlWhole)
If Not busca Is Nothing Then
busca.Select
With Selection
.Interior.ColorIndex = 3
.Font.Bold = True
End With
MsgBox "conseguido"
Exit Sub
End If
Loop
 While busca Is Nothing
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas