RELATÓRIOS POWER BI

VÍDEOS MAIS ASSISTIDOS

 

Pesquisar

sexta-feira, 16 de agosto de 2013

Macro para gerar números aleatórios sem repetição.

Gerar os números aleatórios não seria tarefa tão difícil. Até aí tudo bem. Poderíamos rapidamente obter a solução utilizando uma simples combinação de fórmulas diretamente digitadas nas células da planilha. Isto resolveria o problema?






Em parte sim. Mas, os números gerados poderiam ser repetidos. Não teria como controlar isso, pois seriam gerados aleatoriamente.

Então, através de um algorítimo simples, faremos a verificação de possíveis duplicidades decorrentes do processo randômico de extração de números. Utilizamos esta mesma técnica para realizar sorteios diversos e podemos adaptar para múltiplos casos e finalidades.



Assista o Vídeo






5 comentários:

  1. Ola, nesse caso seu eu quiser que sejam sorteados 16 numeros, do 1 ao 25, como ficaria? eu tentei, consegui fazer sortear os 116 numeros substituindo o "8" por 16 e o 'h1" por "p1".... so que eu queria que fosse sorteados aleatoriamente 16 numeros dentro dos 25. Parabens pelo posto gostei muito do site, ta em favoritos!Obrigado

    ResponderExcluir
  2. Cleiton Emidio
    Como faço para selecionar aleatoriamente linhas, porém os números q contém estas linhas não estão em sequência, onde tentei usando a fórmula =aleatórioentre porem ela puxou números q não contiam nas células ou seja ela seguiu a sequência numérica e eu preciso q selecione somente estes dados que estão na tabela. Existe outra fórmula?

    ResponderExcluir
  3. Cleiton Emidio
    Como faço para selecionar aleatoriamente linhas, porém os números q contém estas linhas não estão em sequência, onde tentei usando a fórmula =aleatórioentre porem ela puxou números q não contiam nas células ou seja ela seguiu a sequência numérica e eu preciso q selecione somente estes dados que estão na tabela. Existe outra fórmula?

    ResponderExcluir
  4. Boa noite amigos. Gostaria de adaptar a planilha abaixo para que gerasse os números dentro de uma determinada faixa, exemplo: gerar 20 números em 60, de maneira tal que o próprio 60 saia nessa geração. Poderiam me ajudar? Agradeço.
    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 = 60
    Const strDestino As String = "B1:G10"

    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

    ResponderExcluir
  5. Por favor, respondam. Continuo aguardando.

    ResponderExcluir