Notifications
Clear all

Macro para sorteio sem repetir

4 Posts
2 Usuários
0 Reactions
962 Visualizações
(@jvales)
Posts: 2
New Member
Topic starter
 

Queria saber se alguém me pode ajudar.

Vou fazer uma prova de karts, e vou fazer 4 corridas, estou a sortear os karts utilizando macro a baixo. Agora preciso de uma formula, identifique numa tabela o nome do piloto e o karts que já dou, para não repetir o mesmo. 

 

Código Macro

Sub GerarNúmerosAleatóriosSemRepetir()

   'Suponha que os números estão no intervalo B1:G10

   Const nMínimo As Long = 1

   Const nMáximo As Long = 20

   Const strDestino As String = "B1:B20"


   Dim n As Long

   Dim r As Long

   Dim col As Collection


   Randomize Timer


   Set col = New Collection

   On Error Resume Next

       Do

           n = Int(Rnd * nMáximo) + nMínimo

           col.Add n, CStr(n)

       Loop Until col.Count = nMáximo

       For n = 1 To nMáximo

           Range(strDestino).Cells(n) = col(n)

       Next n

   On Error GoTo 0


End Sub

_____________________________________
Editado pela Moderação. Motivo: Procure utilizar o botão Código (< >) sempre que for inserir código VBA ou Fórmulas.

 
Postado : 04/10/2022 7:55 am
Tags do Tópico
(@osvaldomp)
Posts: 858
Prominent Member
 

Já experimentou a função PROCV() ?

Osvaldo

 
Postado : 04/10/2022 2:42 pm
(@jvales)
Posts: 2
New Member
Topic starter
 

Viva a função PROCV só vai buscar os dados das células e eu preciso de validar esses dados, se o numero for repetido tem de ser alterado por outro

 
Postado : 04/10/2022 3:05 pm
(@osvaldomp)
Posts: 858
Prominent Member
 

Para facilitar o entendimento do que você quer, eu sugiro que você disponibilize diretamente aqui no fórum o seu arquivo Excel.

Rode a macro que você postou acima e coloque o resultado desejado a partir desse ponto, com as necessárias explicações na própria planilha.

Osvaldo

 
Postado : 04/10/2022 7:22 pm