Notifications
Clear all

macro para atualizar intervalo no gerenciador de nomes

4 Posts
2 Usuários
0 Reactions
1,203 Visualizações
(@juliowd)
Posts: 0
New Member
Topic starter
 

Olá. Tenho uma lista de palavras que vou inserindo novos nomes a todo momento.
E dei a ela o nome de "config.funcoes".
E o intervalo dela ficou "=config.funções!$I$18:$I$19"

Só que vou a cada dia inserindo mais e mais palavras. E o intervalo (lá no gerenciador de nomes) não aumenta automaticamente. Continua terminando em $I$19.
Eu uso esta lista em uma validação de dados em lista.
Então fiz essa macro para toda vez que eu cadastrar uma nova palavra, ele atualizar a lista, incluindo a nova palavra/informação.

    With ActiveWorkbook.Names("nome.funcoes")
        .Name = "nome.funcoes"
        .RefersToR1C1 = "=config.funções!R18C9:R19C9"
        .Comment = ""
    End With

Porém ele sempre aparece só duas. Eu não sei fazer com que a parte

        .RefersToR1C1 = "=config.funções!R18C9:R19C9"

fique variável de acordo com a quantidade de palavras.
Agora tem 2 palavras só.
Mas daqui uns dias terá milhares.
E lá na minha validação de dados, só continua aparecendo 2. Eu preciso que na macro essa parte

config.funções!R18C9:R19C9

será variável, puxando o intervalo entre a primeira e a última célula com informações.
É possível isso amigos?
Obrigado desde já.

 
Postado : 20/05/2016 4:18 pm
(@juliowd)
Posts: 0
New Member
Topic starter
 

corrigindo o início da mensagem:
"E dei a ela o nome de "config.funcoes". está errado."
O certo é:
"E dei a ela o nome de "nome.funcoes".

 
Postado : 20/05/2016 4:27 pm
(@mprudencio)
Posts: 0
New Member
 

Amigo isso nao precisa de VBA, basta usar um range dinamico

Aqui uma aula sobre o assunto

viewtopic.php?f=20&t=98

E em anexo um exemplo

 
Postado : 20/05/2016 5:27 pm
(@juliowd)
Posts: 0
New Member
Topic starter
 

Marcelo, eu nem imaginava que dava pra fazer isso. Cara, fantástico. Muito bom. Adaptei aqui às minhas configurações e já está rodando 100%.
Muito obrigado!!!

 
Postado : 21/05/2016 7:48 am