Ir ao conteúdo
  • Cadastre-se

Gerar sequência numérica aleatória com exceção


Ir à solução Resolvido por Visitante,

Posts recomendados

Boa Noite,

 

Estou precisando de auxilio para montar uma fórmula no excel, estou querendo montar uma sequência aleatória mais preciso que alguns números não façam parte das combinações...

 

Ex.  Gerar números aleatórios de 1 a 10, sendo que consiga restringir 2 números que pertencem a combinação e esse números estarão indicados em uma célula especifica (número 8 que está na A1 e 5 está na A2).

 

A combinação aleatória geraria com os números 1,2,3,4,6,7,9,10

 

Tem como fazer isso?

Link para o comentário
Compartilhar em outros sites

Se quiser testar esta solução por macro instale o código abaixo em um módulo comum. Sugiro que vincule o código a um botão.

Como você não informou se quer gerar um únco número de cada vez ou vários, optei por gerar um único por vez e lançar o resultado em C1.

 

Sub GeraAleatórioComExceção()
  Dim i As Long
    Do
      i = Int(Rnd() * 10) + 1
        If i <> [A1] And i <> [A2] Then [C1] = i: Exit Sub
    Loop
End Sub

 

 

Link para o comentário
Compartilhar em outros sites

Bom Dia

 

Obrigado pela resposta...funcionou...só preciso de mais uma ajudinha...tem como fazer na mesma regra uma outra sequencia aleatória em outro campo com outras celulas de restrição mais que sejam atualizadas juntas?

 

Pois fiz outro modulo e refiz a que você me passou mais no momento da atualização com o botão vinculado não atualiza os dois ao mesmo tempo.

 

Desde já agradeço,

Link para o comentário
Compartilhar em outros sites

...só preciso de mais uma ajudinha...tem como fazer na mesma regra uma outra sequencia aleatória em outro campo com outras celulas de restrição mais que sejam atualizadas juntas?

 

 

 

Não entendi nada,

Sugiro que você disponibilize um arquivo com ao menos um exemplo do que você deseja.

Link para o comentário
Compartilhar em outros sites

  • Solução

Utilize este código no lugar do anterior.

Neste código os endereços das células que contém os critérios e das que contém os resultados estão adaptados conforme o arquivo que você postou.

Sub GeraAleatórioComExceção()  Dim i As Long    Do      i = Int(Rnd() * 15) + 1        If i <> [B2] And i <> [C2] Then [E2] = i: Exit Do    Loop    Do      i = Int(Rnd() * 17) + 1        If i <> [B3] And i <> [C3] Then [F2] = i: Exit Sub    LoopEnd Sub
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...