Função Aleatório Fixo

Função para retornar o nome das planilhas
Função para retornar o nome das planilhas
1 de junho de 2011
Soma Absoluta Utilizando Fórmula Matricial
Soma Absoluta Utilizando Fórmula Matricial
4 de junho de 2011

Objetivo: Função para retornar um número aleatório fixo.


Algumas vezes precisamos de uma lista de valores aleatórios para realizar testes.

O problema é que usando a função Aleatório, ou aleatórioentre, veja no artigo http://guiadoexcel.com.br/numeros-aleatorios-estatistica-aleatorioentre-aleatorio-arred, você tem um número aleatório, mas que muda a cada alteração na planilha, sendo necessário copiar e colar especial somente valores para evitar as mudanças de valores.

Para tornar esta função global e você poder utilizar em todas as planilhas use o descrito no artigohttp://guiadoexcel.com.br/criando-funcoes-proprias-globais.

A função abaixo traz o valor fixo, evitando as mudanças constantes.

Public Function AleatorioEntreFixo() As Double
    Randomize
    AleatorioEntreFixo = Rnd()
End Function

Abraço

Marcos Rieper


Clique aqui e leia mais sobre Excel VBA. https://www.guiadoexcel.com.br/vba/ O Guia do Excel foi criado por Marcos Rieper e oferece artigos, dicas, tutoriais e modelos de planilhas prontas. Aqui você encontra tudo sobre Excel, seja de nível básico, intermediário,  avançado e VBA. O Guia do Excel oferece diversos materiais completamente gratuitos para download. Navegue em nosso site e confira! Conheça também a nossa Loja do Excel https://loja.guiadoexcel.com.br/
Cursos

Curso Excel Completo – Curso Excel Básico + Curso Excel Avançado – Acesso Vitalício

R$218,00 R$179,00

COMPRAR
Cursos

Curso Excel Master – Curso Excel Básico + Curso Excel Avançado + Curso VBA Excel + LP – Acesso Vitalício

R$357,00 R$249,00

COMPRAR
Cursos

Curso Excel PRO – Curso Excel Avançado + Curso VBA Excel + Lógica de programação – Acesso Vitalício

R$258,00 R$199,00

COMPRAR
Cursos

Curso Excel Web – Curso VBA Excel + Lógica de programação + Curso Web Scraping VBA- Acesso Vitalício

R$388,90 R$309,00

COMPRAR

9 Comentários

  1. RaphaelNNoé disse:

    Boa tarde!
    Estou para fundir minha cabeça tentando resolver esse problema:
    Tenho uma tabela com duas colunas
    Código | Nome
    01 | Maria 01
    02 | João 02
    03 | Maria 02
    04 | André 01

    *O Total de registro nessa tabela é de 10

    E a outra com três colunas. Exemplo:

    Horário | Cód | Nome
    08:00
    09:00
    10:00
    11:00
    12:00
    13:00
    14:00
    15:00
    16:00
    17:00
    18:00

    Pois bem, o que preciso que o excel faça é preencher aleatório da 2º coluna (Cód) da tabela 2, com base na tabela 1. Porém, não pode haver duplicidade no na tabela 2.

    Em sintaxe na empresa que trabalho tem 10 vendedoras e elas tem que revezarem durante o dia em um setor especifico da loja, cada uma tem que ficar 01 hora nesse setor, porém preciso que esse sorteio seja feito de forma automática

    Cordialmente, agradeço sua ajuda!!!

  2. RaphaelNNoé disse:

    Marco, muito obrigado!

    O conteúdo do post resolveu perfeitamente o meu problema.

  3. Adriano Prachthäuser disse:

    Boa tarde Rieper!

    Gosto muito do seu site!! Está de parabéns!

    Bom, sobre sua função ela não funciona quando pressionamos: CTRL+SHIFT+ALT+F9
    “Pressionar CTRL+SHIFT+ALT+F9: Verifica novamente as fórmulas dependentes e, em seguida, calcula todas as fórmulas em todas as pastas de trabalho abertas, independentemente de elas terem sido ou não alteradas desde o último cálculo. Fonte: http://office.microsoft.com/pt-br/excel-help/alterar-quando-e-como-as-formulas-sao-calculadas-HP005199227.aspx
    Acontece também se excluímos uma coluna, linha, etc.

    Resolvi esse problema com uma simples macro copiar-colar. Mas assim não é necessário personalizar uma fórmula.
    Não achei uma maneira de resolver usando fórmula…
    Tá aí um problema interessante. Se eu encontrar uma solução eu respondo aqui.

    Abraço!

  4. Paulo Santana disse:

    Tudo bem Marcos?

    Estou com um problema com esta fórmula, porque eu quero que ele calcule entre dois números como na função =ALEATÓRIOENTRE (), ou seja calcule um número aleatório de acordo com um intervalo mínimo e máximo estipulado.

    Obrigado desde já,
    Abraço

  5. Prezados colegas,

    O questão acima pode ser resolvido com a função abaixo. Na primeira referência deve-se colocar a semente (parâmetro número). Nas próximas chamadas basta não incluir este parâmetro. Lembre-se que em planilhas simples a resolução de fórmulas do excel é do canto superior esquerdo para o canto inferior direito. Todavia, em planilhas mais complexas o Excel usa o conceito de precedência para cálculo. Neste caso você deve localizar a célula de mais alta precedência que deverá conter a chamada da função com o parâmetro Numero.

    =/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/

    Public Function AleatorioEntreFixo(Minimo, Máximo, Optional Numero As Single) As Double
    If Number > 0 Then
    AleatorioEntreFixo = Rnd(-1 * Numero) * Máximo + Minimo
    Else
    AleatorioEntreFixo = Rnd(1) * Máximo + Minimo
    End If
    End Function

    =/=/=/=/=/=/=/=/=/=/=/=/=/=/=/=/

  6. Eliwelton Lima disse:

    Olá Marcos!

    Como fazer essa função funcionar como a ALEATORIOENTRE, mas com os valores fixos???
    Agradeço muito!

    Eliwelton Lima

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Inscreva-se no nosso canal do Youtube!


Junte-se ao nosso canal do Youtube. Começamos em abril de 2016, mas já temos mais de 06:00 h de treinamentos gratuitos e este número irá aumentar. Vídeos novos todos os sábados.