Sorteo nombres únicos Excel o VBA

Hola.

Necesito hacer un sorteo de equipos (G4:G9), pero de manera que vayan saliendo en la casilla D4, de uno en uno y no se repitan en el sorteo los que ya han salido.

Hasta ahora vengo usando el ALEATORIO() en otra columna (H) y con JERARQUIA pues le voy pidiendo que me dé los equipos, pero cuando van saliendo se repiten y tengo que darle a F9 hasta que sale uno que todavía no había aparecido.

Si tenéis por ahí alguna fórmula o si no, con una macro también

1 respuesta

Respuesta
2

¿Y en dónde quieres que se marque que ya salió un equipo?

Por ejemplo, ejecutas la macro, el primero en salir es el equipo4, ¿en dónde marco que ya salió? En la columna "I", esto es para que la macro verifique la columna "I" si tiene una marca significa que ya salió, entonces que busque otro número. ¿Estás de acuerdo?

Ocupa la siguiente macro, cada que la ejecutes va a ir seleccionando un equipo, cuando haya seleccionado todos, empezará de nuevo.

Sub AleatorioEq()
'Por.Dante Amor
    If Application.CountA(Range("I4:I9")) = 6 Then
        Range("I4:I9").ClearContents
    End If
    Do While True
        y = Evaluate("=RANDBETWEEN(4,9)")
        If Cells(y, "I") = "" Then
            [D4] = Cells(y, "G")
            Cells(y, "I") = "x"
            Exit Do
        End If
    Loop
End Sub

Saludos.Dante Amor

Recuerda valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas