Estou tentando criar uma função personalizada para preencher células selecionadas com números aleatórios exclusivos. Meu problema é obter o intervalo de células selecionadas, por exemplo.
=randm()
Meu problema é que não sei o intervalo de células a preencher
Preciso obter o endereço do intervalo H16:J24
É possível ?
Cumprimentos.
Você enfrenta vários problemas quando deseja usar uma UDF (fórmula definida pelo usuário) para preencher o intervalo selecionado:
Você não pode criar uma função spill com VBA( Atualização : eu estava errado, você pode.)Então, em vez disso, escreva uma sub-rotina que preencha o intervalo:
Agora você precisa de uma rotina simples que preencha uma lista (eu uso uma Collection) com valores possíveis. O exemplo a seguir cria um baralho de cartas:
E como você só pode chamar sub-rotinas sem parâmetros do Excel, basta criar um wrapper que seja executado na seleção atual
Agora, basta chamar essa rotina sempre que precisar de um intervalo preenchido com números aleatórios. Você pode fazer isso no Macro-Menu (Developer->Macros ou View->Macros). Você também pode atribuir a Macro a uma Tecla (por exemplo, Ctrl+Shift+R) no Macro Menu em [Options...]. Ou você coloca um botão ou forma na sua planilha que chama essa rotina.